{"id":22951556,"url":"https://github.com/lifailon/intellishell","last_synced_at":"2025-10-09T17:08:34.579Z","repository":{"id":249393560,"uuid":"831396185","full_name":"Lifailon/intellishell","owner":"Lifailon","description":"This is a handler running on top of the Bash shell that implements real-time command history completion from a drop-down list.","archived":false,"fork":false,"pushed_at":"2025-03-15T12:45:58.000Z","size":10379,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"rsa","last_synced_at":"2025-03-19T04:52:06.750Z","etag":null,"topics":["autocomplete","bash","cli","comand-line","grep","grep-like","interactive","linux","prompt-toolkit","python","shell","terminal","tui"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/intellishell","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lifailon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-20T12:33:04.000Z","updated_at":"2025-03-15T12:38:19.000Z","dependencies_parsed_at":"2024-10-26T03:16:48.031Z","dependency_job_id":"c3b40b9d-21c5-41a3-bb6d-c6563830749e","html_url":"https://github.com/Lifailon/intellishell","commit_stats":null,"previous_names":["lifailon/abash","lifailon/intellishell"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2Fintellishell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2Fintellishell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2Fintellishell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2Fintellishell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lifailon","download_url":"https://codeload.github.com/Lifailon/intellishell/tar.gz/refs/heads/rsa","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244728187,"owners_count":20500023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autocomplete","bash","cli","comand-line","grep","grep-like","interactive","linux","prompt-toolkit","python","shell","terminal","tui"],"created_at":"2024-12-14T15:16:42.213Z","updated_at":"2025-10-09T17:08:29.546Z","avatar_url":"https://github.com/Lifailon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n    🧠 Intelli Shell 🐚\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://pypi.org/project/intellishell\"\u003e\u003cimg title=\"PyPi\"src=\"https://img.shields.io/pypi/v/intellishell\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/Lifailon/intellishell\"\u003e\u003cimg title=\"GitHub top language\"src=\"https://img.shields.io/github/languages/top/Lifailon/intellishell?logo=Python\u0026color=blue\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/Lifailon/intellishell\"\u003e\u003cimg title=\"GitHub Release\"src=\"https://img.shields.io/github/v/release/Lifailon/intellishell?include_prereleases\u0026logo=GitHub\u0026color=green\u0026)](https://github.com/Lifailon/intellishell\"\u003e\u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg title=\"GitHub License\"src=\"https://img.shields.io/github/license/Lifailon/intellishell?link=https%3A%2F%2Fgithub.com%2FLifailon%2Fintellishell%2Fblob%2Frsa%2FLICENSE\u0026logo=readme\u0026color=white\u0026\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"image/logo.png\"\u003e\n\u003c/p\u003e\n\nThis 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](https://github.com/prompt-toolkit/python-prompt-toolkit) library.\n\nWhy do need this when there are many other great solutions, such as [hstr](https://github.com/dvorka/hstr) and [mcfly](https://github.com/cantino/mcfly)? It's simple, I find it inconvenient to call a separate interface for navigating through history, I am used to using [PowerShell Core](https://github.com/PowerShell/PowerShell) in Windows or Linux (activated by pressing `F2`), which has become standard for me.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"image/example.gif\"\n\u003c/p\u003e\n\n## Install\n\nFor quick installation on your system, use the [PyPi](https://pypi.org/project/intellishell) package manager:\n\n```shell\npip install --break-system-packages intellishell\n```\n\nTo run use the command:\n\n```shell\ninsh\n```\n\n## Completions\n\n- 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`.\n- 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`).\n- Quickly navigate through directories without leaving the current input line, as well as select files for reading or copying.\n- Displays the execution time of the last executed command and the full path to the current directory.\n- Supports completion of all available variables of the current session via the `$` symbol, as well as executable commands via the `!` symbol.\n- Search based on the output of the last executed command when the `@` symbol is used at the beginning of the input line.\n- Integration with [cheat.sh](https://cheat.sh) to output cheat sheets of the last entered command in a line via the `!` symbol.\n\nTo 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.\n\n## Hotkeys\n\n- `right` – select a command without executing it, which is convenient for continuing recording or moving to the next directory to quickly display its contents.\n- `backspace` - in addition to deleting, updates the history to reflect the changes.\n- `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).\n- `ctrl+l` - completely clears the output console without affecting the input console and without changing the last execution command.\n- `ctrl+q` - hides the drop-down list until the next input.\n\n## Issues\n\nBecause execution of each individual command occurs in external and independent processes, some actions may not perform as you expect.\n\nKnown issues and limitations:\n\n- Multiline input is not supported.\n- Interrupting some commands may not return the final result (for example, `ping` will not return statistics).\n- Most interactive commands (which require input from user) may not work reliably.\n\n## Backlog\n\n- [x] Passing variables and functions between command calls is supported.\n- [x] Added support for some interactive programs (e.g. `nano`, `vi/vim`, `top/htop`, `mc/mcedit`).\n- [ ] Autocomplete parameters (flags/keys) for all commands (using source bash-completion and declare functions).\n\nTo fully utilize autocompletion for commands, it is recommended to use [inshellisense](https://github.com/microsoft/inshellisense) or [fzf-obc](https://github.com/rockandska/fzf-obc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fintellishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flifailon%2Fintellishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fintellishell/lists"}