This is a handler running on top of the Bash shell that implements real-time command history completion from a drop-down list.
Project description
рџ§ 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
Enterkey from the drop-down list or selecting it using theright. - 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, likefzf). - 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,
pingwill 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file intellishell-0.5.0.tar.gz.
File metadata
- Download URL: intellishell-0.5.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f4e311bf76b4691effb6ad628a17333d9c32f71d0355e71b6d3b343ef05f160
|
|
| MD5 |
2f7749dcdeaaaf27e72a48a2e1852f38
|
|
| BLAKE2b-256 |
54b4a82ff3c404262e00e9ccf9b52c9881211e92abe7b8bef9c0c0a96addb203
|
File details
Details for the file intellishell-0.5.0-py3-none-any.whl.
File metadata
- Download URL: intellishell-0.5.0-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e33419cc9ecf7db95873687f3a251f477adc591fabfbd51f22800b3975b623
|
|
| MD5 |
b871f621f3b2913e0ccc7ea29075ead7
|
|
| BLAKE2b-256 |
188c15f1bc24b322e1506a59208db9b1f12f136220d724566f7682078c0331a8
|