Upterm is Part Terminal Emulator, Part IDE

upterm on ubuntu 17.10

Upterm is billed as a ‘terminal emulator for the 21st century’ — a fairly bold claim.

Read More

“An IDE in the world of terminals,” claims the Github project page; “Strictly speaking, it’s both a terminal emulator and an interactive shell based on Electron.”

I spent some time playing with the app see if it offered anything new. And I’m happy to say it does.

Upterm Terminal App

Unlike fellow Electron stablemates Hyper and Terminus, Upterm integrates a couple of common IDE features with ones we’re used to finding in traditional terminal emulators.

Chief among them is autocomplete suggestions as you type. These suggestions can be actioned without taking your fingers off of the keyboard — just smush of the tab and you’re away:

unnamed file 17

Upterm autocompletion in action

The app is somewhat smart about the commands and arguments it suggests. However, on a few occasions, it did fail to offer any suggestions at all.

When it is able to assist you, you can (in theory) see additional information about suggested commands and flags on the right hand side of the autocomplete box, e.g. expanded alias value, command descriptions, value of the previous folder, and so on.

Sadly the default color scheme used by the Linux version I tried made it impossible to see what a snippet said until it was highlighted, a speed bump in the workflow benefits of using the feature in the first place!

poor top suggestion formatting

As a Linux user I was also sad to see there is no autocomplete support for Bash or other Linux-specific tools. Thankfully the app does support a stack of common cross-platform command-line utilities, including vim, top, grep, and git.

As I tabbed my way through a (phoney) git commit with lengthy message I did get a feel how, in the right hands, this app could help speed a workflow up.

The latest release of Upterm uses the monaco-editor that powers Microsoft’s Visual Studio Code (also an Electron app). This switch is a smart one as it provides Upterm with Language Server Protocol support, faster autocompletion, syntax highlighting, and auto-complete of quotes and parens.

Search, tabbed sessions, and zooming options round out the bulk of the application’s features.

There is no preferences section to speak of, no way to adjust the color scheme, and no way to add to, edit or adjust the autocomplete feature.

Ideal for Beginners Rather than Seasoned Pros

I know that Electron apps aren’t super popular in general, and Electron apps that replicate the functionality of existing native apps less so. Upterm will use more RAM and CPU than, say, Xterm or Konsole, but it kind of has to in order to do to power the ‘features’ that it offers.

I have no doubt that the more advanced CLI stalwarts out there could create something similar to Upterm using Zsh, Fish and a spare half and hour.

But Upterm may prove super useful to terminal beginners yet to learn the arcane ways of the command line, as well as those looking for a new or novel way to use the terminal.

How To Use Upterm on Ubuntu

If you’re interested enough by what you’ve read this far I do encourage you to take it for a spin yourself.

With few native terminal emulators pushing the boundaries of interaction Upterm does stand distinct, so I urge you not to dismiss it outright.

Trying it out is super easy too.

You can download an AppImage from the Github release pages that you can use on Linux desktops, including Ubuntu:

Download Upterm AppImage (64-bit)