Skip to content

Commit

Permalink
Add 22.08 release notes (#12)
Browse files Browse the repository at this point in the history
  • Loading branch information
the-mikedavis authored Aug 31, 2022
1 parent 900e68f commit ba342e4
Show file tree
Hide file tree
Showing 11 changed files with 3,247 additions and 0 deletions.
138 changes: 138 additions & 0 deletions content/news/2022-08-02-release-22.08-highlights.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
+++
title = "Release 22.08 Highlights"
date = 2022-08-30T13:00:00Z
type = "post"
description = "Highlights of the 22.08 release."
in_search_index = true
+++

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 91 contributors. 🎉

Let's check out the highlighted features for 22.08.

## Indent guides

{{ asciinema(id="indent-guides", width="94", height="25") }}

Indent guides provide a visual representation for the current indentation
level. Enable indent guides with the `editor.indent-guide.render` key.
The character used as a guide is also customizable.

## Cursorline

{{ asciinema(id="cursorline", width="94", height="25") }}

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 `editor.cursorline`
option.

## Mode colors

{{ asciinema(id="color-modes", width="94", height="25") }}

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 `ui.cursorline.{insert,normal,select}` keys
in themes.

## Configurable statusline

{{ asciinema(id="configurable-statusline", width="94", height="25") }}

The statusline may now be configured in the `editor.statusline` section
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: `file-line-ending` and
`position-percentage`.

## LSP signature help

<img src="/signature-help.gif" style="max-width: 80%; display: block; margin-left: auto; margin-right: auto"/>

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

{{ asciinema(id="document-highlight", width="94", height="25") }}

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
example with `c`) or cycle between selections (`(`/`)`).

## LSP diagnostics pickers

{{ asciinema(id="diagnostic-picker", width="94", height="25") }}

The new buffer and workspace diagnostics pickers may be used to jump to
Language Server diagnostics like warnings and errors. Use `Space-g` to
open the picker with diagnostics for the current buffer and `Space-G`
to view all diagnostics in a workspace.

## Jumplist picker

{{ asciinema(id="jumplist-picker", width="94", height="25") }}

The jumplist saves a history of selections. Save selections with `C-s` and jump
forward with `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 `Space-j`.

## External formatters

{{ asciinema(id="external-formatter", width="94", height="25") }}

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
configure `black` for formatting Python, formatting will be accomplished with
`black` rather than `pylsp`.

## Bracketed paste

{{ asciinema(id="bracketed-paste", width="94", height="25") }}

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.

## Wrapping up

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][helix-git] and be sure to join in on discussions in
the [Matrix channel][matrix].

<script src="/asciinema-player.js"></script>
[changelog]: https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2208-2022-08-30
[helix-git]: https://github.com/helix-editor/helix/
[matrix]: https://matrix.to/#/#helix-community:matrix.org
[release page]: https://github.com/helix-editor/helix/releases/tag/22.08
Loading

0 comments on commit ba342e4

Please sign in to comment.