IntelliShell

Like IntelliSense, but for shells!

intelli-shell demo

IntelliShell acts like a bookmark store for commands, so you don't have to keep your history clean in order to be able to find something useful with ctrl + R.

It currently works on Bash, Zsh and Fish and should be compatible with most Linux, Windows and MacOS.

TL;DR

  1. Install the binaries:

    sh curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/install.sh | bash

  2. Bookmark your first command by typing it on a terminal and using ctrl + b

  3. (optional) Run intelli-shell fetch to download commands from tldr

  4. Hit ctrl + space to begin the journey!

Features

Installation

Remember to bookmark some commands or fetch them after the installation!

Bash (Linux)

sh curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/install.sh | bash

After installing it using bash, it should work in any supported shell.

PowerShell (Windows)

powershell New-Item -Path $env:APPDATA\IntelliShell\Intelli-Shell\bin -Type Directory Invoke-WebRequest -UseBasicParsing -URI "https://github.com/lasantosr/intelli-shell/releases/latest/download/intelli-shell-x86_64-pc-windows-msvc.zip" -OutFile .\intelli-shell.zip Expand-Archive -Path intelli-shell.zip -DestinationPath $env:APPDATA\IntelliShell\Intelli-Shell\bin Remove-Item intelli-shell.zip $Path = [Environment]::GetEnvironmentVariable("PATH", "User") if ($Path -NotLike "*IntelliShell*") { $Path = $Path + [IO.Path]::PathSeparator + "$env:APPDATA\IntelliShell\Intelli-Shell\bin" }

After installing it using PowerShell, it should also work in cmd.

Source

To install from source you'll need to have Rust installed, which is recommended to be installed using rustup.

sh cargo install intelli-shell --locked

Linux considerations

To include hotkey integrations with current line, you'll need to download the source script also:

sh mkdir -p ~/.local/share/intelli-shell curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.sh > ~/.local/share/intelli-shell/intelli-shell.sh

Or, if using fish:

sh mkdir -p ~/.local/share/intelli-shell curl -sSf https://raw.githubusercontent.com/lasantosr/intelli-shell/main/intelli-shell.fish > ~/.local/share/intelli-shell/intelli-shell.fish

After that, you should edit your ~/.bashrc, ~/.zshrc or ~/.bash_profile to source it:

sh source ~/.local/share/intelli-shell/intelli-shell.sh

Or, if using fish you should edit ~/.config/fish/config.fish:

sh source ~/.local/share/intelli-shell/intelli-shell.fish

Usage

You can view supported actions by running intelli-shell -h. Most used standalone commands are:

Windows users, as hotkeys are not enabled, will also need those:

Hotkeys

Hotkeys are only available on Linux:

Note: When navigating items, selected suggestion can be deleted with ctrl + d

You can customize key bindings using environment variables: INTELLI_SAVE_HOTKEY, INTELLI_SEARCH_HOTKEY and INTELLI_LABEL_HOTKEY

Wishlist

Alternatives

You might want to have a look at Marker which is pretty similar but requires Python to be installed on your system.

License

IntelliShell is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.