Release 22.08 Highlights
Helix is a modal text editor with built-in support for multiple selections, Language Server Protocol (LSP), tree-sitter, and experimental support for Debug Adapter Protocol (DAP).
Today marks the 22.08 release, a release with plenty of fixes and new features. A big thank you to our contributors! This release had 87 contributors. 🎉
Let's check out the highlighted features for 22.08.
Indent guides provide a visual representation for the current indentation
level. Enable indent guides with the
The character used as a guide is also customizable.
The cursorline is a horizontal highlighted bar that follows your cursor.
Cursorlines may be themed for the primary and all secondary cursors and
can be enabled or disabled separate from theming with the
The mode indicator in the statusline may now be styled based on the current
mode. This feature may be enabled with the
editor.color-modes option and
colors may be configured using
The statusline may now be configured in the
of the config. Elements may be placed on the left, center or right of
the statusline with a configurable separator and spacers. Two new elements
may now also be added to your statusline:
LSP signature help
Signature help provides documentation as you type the arguments to a function call and tracks which function parameter is currently being entered. Signature help is enabled by default.
LSP document highlight
The document highlight request (
Space-h) creates a selection for all
instances of the symbol under the primary cursor. Helix has robust support for
multiple selections, so you may edit all selections simultaneously (for
c) or cycle between selections (
LSP diagnostics pickers
The new buffer and workspace diagnostics pickers may be used to jump to
Language Server diagnostics like warnings and errors. Use
open the picker with diagnostics for the current buffer and
to view all diagnostics in a workspace.
The jumplist saves a history of selections. Save selections with
C-s and jump
C-i and backward with
C-o. The jumplist is a powerful tool,
especially when working with Language Server goto-definition or global search
which both save to the jumplist automatically.
22.08 adds a new picker that can be used to jump across entries in the jumplist.
The preview pane shows the line of the saved primary selection. Bring up the
jumplist picker with
Many Language Servers provide format-on-save capabilities. For languages without Language Servers or for Language Servers that do not implement formatting, an external formatter binary may now be configured. The document is passed through the formatter's stdin and replaced with the formatted output from stdout.
An external formatter may also be used when you prefer the formatting from an
external tool over formatting provided by a Language Server. For example if you
black for formatting Python, formatting will be accomplished with
black rather than
Bracketed paste is terminal emulator feature that allows terminal programs to
recognize paste sequences and handle the pasted text. Without bracketed paste
support, text pasted with operating-system level paste (
C-v) looked to Helix
like text that was entered very quickly which lead to some odd side-effects
like awkward indentation or mysteriously appearing auto-pair characters.
22.08 adds support for bracketed paste, so now all pastes into Helix from
terminal emulators that support bracketed paste work as if you had pressed
Space-p in normal mode. In the above cast, the entire text of Moby-Dick
is pasted with
C-v in insert mode instantly.
These changes are just the highlights. Check out the full changelog to see all that's changed since 22.05. Release binaries can be found on the release page.
Be ready for more exciting changes in Helix 22.10 expected in October! Contribute and follow along with development in the Helix GitHub repository and be sure to join in on discussions in the Matrix channel.