Platform:

Terminal

What’s a development environment without a terminal? If you prefer to have your terminal close at hand instead of in another application, you can use the built-in terminal provided by Pulsar’s terminal package.

Screenshot of the terminal package

The built-in terminal has all the features you’d expect:

terminal screenshot
All built-in syntax themes declare their own terminal color schemes to match.

Opening a terminal

You may open a new terminal in several ways:

Keybindings

The default keybindings for the terminal package aim to make it easy to summon a terminal:

The full set of keybindings can be seen on the package’s configuration page or in the package README.

Keyboard handling

Terminal emulators like to handle their own keyboard input. This can lead to surprising behavior, since Pulsar generally expects to be able to handle keyboard events. While the terminal is focused, you may press a certain key combination intending to invoke a Pulsar command… yet discover you performed an unintended action within the terminal instead!

If you think this is happening with a certain keystroke, the easiest way to confirm it is by using the keybinding resolver. Normally, every keystroke — even a single letter typed in an editor — is seen and handled by the keybinding resolver. So when the terminal has focus, press your keystroke to see how it’s interpreted; if the keybinding resolver doesn’t see the keystroke at all, that means it’s being handled by the terminal.

The most reliable way to avoid this is to unfocus the terminal (by pressing Ctrl+` when the terminal is in focus) before invoking your keystroke. But this is annoying! So for certain commands, we bypass this requirement. Here are the commands whose bindings Pulsar will handle instead of letting the terminal handle the binding:

You can add your own commands to this list via terminal’s package settings; find Behavior → Prioritized Commands for Keyboard Handling and add a specific command or an entire command prefix to the list.

Note that this is needed only in cases where keybindings conflict! If a given binding has no meaning in your terminal session, it will automatically be handled by Pulsar. It’s a good idea to be selective with what you add to this list.

URL handling

If a URL is present in your terminal’s buffer output, you can click on that URL to open it in your default web browser.

By default, it requires more than just clicking on the URL: you must hold the CmdCtrl key while clicking. This is meant to prevent accidental clicks. If you prefer, you can disable this behavior in terminal’s package settings.