Skip to main content

рџ§  Intelli Shell рџђљ

This is a handler running on top of the Bash shell that implements real-time command history completion from a drop-down list using the Prompt Toolkit library.

Why do need this when there are many other great solutions, such as hstr and mcfly? It's simple, I find it inconvenient to call a separate interface for navigating through history, I am used to using PowerShell Core in Windows or Linux (activated by pressing F2), which has become standard for me.

Install

For quick installation on your system, use the PyPi package manager:

pip install --break-system-packages intellishell

To run use the command:

insh

Completions

  • History filtering (takes into account the order of execution with the exception of duplicates) and running the selected command by pressing the Enter key from the drop-down list or selecting it using the right.
  • Regular expression support when filtering based on the position of the entered phrases in the command using the ^ symbol at the beginning or end of the line (by default, the search is performed regardless of the position of the entered phrases separated by spaces, like fzf).
  • Quickly navigate through directories without leaving the current input line, as well as select files for reading or copying.
  • Displays the execution time of the last executed command and the full path to the current directory.
  • Supports completion of all available variables of the current session via the $ symbol, as well as executable commands via the ! symbol.
  • Search based on the output of the last executed command when the @ symbol is used at the beginning of the input line.
  • Integration with cheat.sh to output cheat sheets of the last entered command in a line via the ! symbol.

To read the output of the last command, a second thread is used. To compare performance on my 1 core system I used cat to read the output of a 160k lines file which takes on average 4 seconds, when using two threads the reading time increases on 350 milliseconds.

Hotkeys

  • right – select a command without executing it, which is convenient for continuing recording or moving to the next directory to quickly display its contents.
  • backspace - in addition to deleting, updates the history to reflect the changes.
  • ctrl+c - clears the current input line (buffer) without moving to a new line and does not terminate the executed command (has no effect on stopping a running program, which can also be interrupted).
  • ctrl+l - completely clears the output console without affecting the input console and without changing the last execution command.
  • ctrl+q - hides the drop-down list until the next input.

Issues

Because execution of each individual command occurs in external and independent processes, some actions may not perform as you expect.

Known issues and limitations:

  • Multiline input is not supported.
  • Interrupting some commands may not return the final result (for example, ping will not return statistics).
  • Most interactive commands (which require input from user) may not work reliably.

Backlog

  • Passing variables and functions between command calls is supported.
  • Added support for some interactive programs (e.g. nano, vi/vim, top/htop, mc/mcedit).
  • Autocomplete parameters (flags/keys) for all commands (using source bash-completion and declare functions).

To fully utilize autocompletion for commands, it is recommended to use inshellisense or fzf-obc.

Metadata

Release files for intellishell 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intellishell 0.5.0
File Size Uploaded
intellishell-0.5.0.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intellishell 0.5.0
File Interpreter ABI Platform
intellishell-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.6 kB

Release files / intellishell-0.5.0.tar.gz

Download URL intellishell-0.5.0.tar.gz
Size 14.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8f4e311bf76b4691effb6ad628a17333d9c32f71d0355e71b6d3b343ef05f160
BLAKE2b-256 checksum
How to use checksums
54b4a82ff3c404262e00e9ccf9b52c9881211e92abe7b8bef9c0c0a96addb203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / intellishell-0.5.0-py3-none-any.whl

Download URL intellishell-0.5.0-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7e33419cc9ecf7db95873687f3a251f477adc591fabfbd51f22800b3975b623
BLAKE2b-256 checksum
How to use checksums
188c15f1bc24b322e1506a59208db9b1f12f136220d724566f7682078c0331a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page