DEV Community

loading...
Cover image for Termy: a terminal with autocomplete

Termy: a terminal with autocomplete

martonlanga profile image martonlanga ・2 min read

A new kind of terminal

There have been many shells (bash, zsh, fish) and many terminal emulators (iTerm, Hyper, Windows Terminal) created. But not one that tried to combine these two. Termy is a terminal with a built-in shell that tries to combine these two worlds and provide the user with a better experience.

Download for Mac, Windows & Linux


Design

Termy is made up of cells. This user interface might be familiar to those who've used Jupyter Notebook before.

  • Two things make up a cell: the prompt and the output. Input goes into the prompt and the output will be shown right below the prompt.

  • You can reuse cells. After you're cell finished running, you can run it again with the same or a different command.

tabs

How this works

Instead of loading your shell at start, Termy spawns a new "shell" every time you run a command.

Why?

To provide VSCode style autocompletions in the terminal we need know the current state of the shell. But since the shell handles everything internally, external programs don't know what the current state is. Termy goes around this issue by separating the input and output layer and holding its own state.

But this approach also has its downsides

Since Termy doesn't use the shell as intended, many of the built-in features will stop working (installed plugins, user config).

But don't worry: many oh-my-zsh plugins will be in Termy and soon you'll also be able to configure your settings!

VSCode's editor built-in!

Don't get me wrong: I like Vim but could never get used to those keybindings. For some quick edits Termy gives you VSCode's powerful editor!

edit

Roadmap

Here are some of the things that are on the roadmap:

  1. Search
  2. History
  3. Extensions
  4. Custom themes
  5. Command Line Apps (CLA)
  6. Modern built-in shell with support for structured data
  7. DefinitelyTyped for the CLI: Typed-CLI (to provide autocompletions for every CLI command)

Would love to hear your thoughts

I've been using Termy as my main terminal for a few months now, and would never go back to the old way of doing things. Probably my favorite feature is that text editing features (cursor select, arrow navigation, cut, paste) work in the prompt!

If you found this interesting please give it a try. Would love to hear your feedback!


Give a ⭐️ on GitHub (100% Open-Source)

Download for Mac, Windows & Linux

Join our Discord

Discussion (0)

pic
Editor guide