Skip to content

microsoft/inshellisense

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

* docs: notes about initial implementation

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* chore: partial impl of isterm

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: restore original data echo, clear still breaks

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: adjust incoming backspace so full line delete doesn't happen

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: term size giving confusing clear issues

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: handle wrapped text & detecting when output is under prompt

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* feat: add detection for if the cursor is in a suggestable position

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: add resize handler

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* fix: bash initial prompt detection & clear conflict

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* feat: add better debugging logging support to isterm

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* refactor: use es private field syntax

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* test: isterm

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: update for node-pty

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: add pwsh prompt setup for testing

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* style: fix lint issue

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: try lf to fix issue

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: enforce lf via gitattributes

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: tweak config

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: rollback types upgrade

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: drop macos builds for now

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: disable logging

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* test: unix shells

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: use step conditions

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: use condition for pwsh setup

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

* ci: disable isterm tests

Signed-off-by: Chapman Pendery <cpendery@vt.edu>

---------

Signed-off-by: Chapman Pendery <cpendery@vt.edu>
930381c

Git stats

Files

Permalink
Failed to load latest commit information.

inshellisense

inshellisense provides IDE style autocomplete for shells. It's a terminal native runtime for autocomplete which has support for 600+ command line tools. inshellisense supports Windows, Linux, & macOS.

demo of inshellisense working

Getting Started

Requirements

  • node >= 16.x

Installation

npm install -g @microsoft/inshellisense

Quickstart

After completing the installation, you can already run inshellisense --shell <shell> to start the autocomplete session for your desired shell. Additionally, you can bind inshellisense to a keybinding of CTRL+a by running the below command. This brings the added advantages of automatically starting the autocomplete session with your current shell and injecting any accepted command into your shell's history.

inshellisense bind

Additionally, inshellisense is also aliased under is after installation for convenience.

Integrations

inshellisense supports the following shells:

Contributing

Important

inshellisense is currently undergoing a major redesign, see #79, so note that some contributions will not be merged if they are modifying functionality targeted by the redesign.

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.