Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'CHANGELOG.md')
| -rw-r--r-- | CHANGELOG.md | 2454 |
1 files changed, 4 insertions, 2450 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index bd6ed5a2..bbc7dec2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2449 +1,3 @@ -<!-- -# YY.0M (YYYY-0M-0D) - -Breaking changes: - -Features: - -Commands: - -Usability improvements: - -Fixes: - -Themes: - -New languages: - -Updated languages and queries: - -Packaging: ---> - -# 25.07.1 (2025-07-18) - -This is a patch release which lowers the GLIBC requirements of the release artifacts published to GitHub ([#13983](https://github.com/helix-editor/helix/pull/13983)) - -# 25.07 (2025-07-15) - -As always, a big thank you to all of the contributors! This release saw changes from 195 contributors. - -Breaking changes: - -* The parsing of the command line has been rewritten and now supports flags and expansions ([#12527](https://github.com/helix-editor/helix/pull/12527), [#13018](https://github.com/helix-editor/helix/pull/13018), [9574e55](https://github.com/helix-editor/helix/commit/9574e55), [2d4c2a1](https://github.com/helix-editor/helix/commit/2d4c2a1), [#13192](https://github.com/helix-editor/helix/pull/13192), [67f1fe2](https://github.com/helix-editor/helix/commit/67f1fe2), [#13466](https://github.com/helix-editor/helix/pull/13466), [#13467](https://github.com/helix-editor/helix/pull/13467), [#13840](https://github.com/helix-editor/helix/pull/13840)) - * Quoting and spaces are now handled differently. This can break existing keymaps which use typable commands, in particular `:sh`, `:set-option` or `:toggle-option`. - * The `:rsort` command has been removed. Use the reverse flag instead: `:sort --reverse` - -Features: - -* Add a picker which explores directories ([#11285](https://github.com/helix-editor/helix/pull/11285), [d4aed40](https://github.com/helix-editor/helix/commit/d4aed40)) -* Allow cycling through multiple LSP Hover responses with `A-n`/`A-p` ([#10122](https://github.com/helix-editor/helix/pull/10122), [2367b20](https://github.com/helix-editor/helix/commit/2367b20)) -* Add support for incomplete LSP completions ([5c1f3f8](https://github.com/helix-editor/helix/commit/5c1f3f8)) -* Add support for EditorConfig ([#13056](https://github.com/helix-editor/helix/pull/13056), [#13443](https://github.com/helix-editor/helix/pull/13443)) -* Add support for LSP document colors ([#12308](https://github.com/helix-editor/helix/pull/12308), [d43de14](https://github.com/helix-editor/helix/commit/d43de14), [47cdd23](https://github.com/helix-editor/helix/commit/47cdd23), [ba54b6a](https://github.com/helix-editor/helix/commit/ba54b6a), [#13188](https://github.com/helix-editor/helix/pull/13188)) -* Support expansions in external formatter arguments ([#13429](https://github.com/helix-editor/helix/pull/13429)) -* Switch out the highlighter for the `tree-house` crate ([#12972](https://github.com/helix-editor/helix/pull/12972), [09bc67a](https://github.com/helix-editor/helix/commit/09bc67a), [a7c3a43](https://github.com/helix-editor/helix/commit/a7c3a43), [3ceae88](https://github.com/helix-editor/helix/commit/3ceae88), [05ae617](https://github.com/helix-editor/helix/commit/05ae617), [5a1dcc2](https://github.com/helix-editor/helix/commit/5a1dcc2), [ebf96bd](https://github.com/helix-editor/helix/commit/ebf96bd), [#13644](https://github.com/helix-editor/helix/pull/13644), [b1f4717](https://github.com/helix-editor/helix/commit/b1f4717), [7410fe3](https://github.com/helix-editor/helix/commit/7410fe3), [633c5fb](https://github.com/helix-editor/helix/commit/633c5fb), [362e97e](https://github.com/helix-editor/helix/commit/362e97e), [#13828](https://github.com/helix-editor/helix/pull/13828), [6fd1efd](https://github.com/helix-editor/helix/commit/6fd1efd)) - * This fixes a number of highlighter bugs. - * Locals like parameter highlights are now highlighted even when the definition is not in view. - * Markdown is now injected into rust doc comments (`///` and `//!`). -* Add support for the DAP `startDebugging` reverse request ([#13403](https://github.com/helix-editor/helix/pull/13403)) - -Commands: - -* Add `copy_between_registers` for interactive copying between two registers ([066e938](https://github.com/helix-editor/helix/commit/066e938)) -* Add `extend_to_file_{start,end}`, select-mode variants of `goto_file_{start,end}` ([#11767](https://github.com/helix-editor/helix/pull/11767)) -* Add `:!` alias for `:sh` and `:|` for `:pipe` ([#13263](https://github.com/helix-editor/helix/pull/13263)) -* Add `goto_column` and `extend_to_column` ([#13440](https://github.com/helix-editor/helix/pull/13440)) -* Add an `--insensitive`/`-i` flag to the `:sort` command ([#13560](https://github.com/helix-editor/helix/pull/13560)) -* Add `rotate_selections_first` and `rotate_selections_last` ([#13615](https://github.com/helix-editor/helix/pull/13615)) -* Add a `--no-format` flag for all `:write` commands ([2f56091](https://github.com/helix-editor/helix/commit/2f56091)) -* Add a `--skip-visible` flag for `:buffer-close-others` and `:buffer-close-others!` ([#5393](https://github.com/helix-editor/helix/pull/5393)) - -Usability improvements: - -* Replace current file using `A-ret` in pickers rather than loading it in the background ([#12605](https://github.com/helix-editor/helix/pull/12605)) -* Set multiple selections when passing a file with multiple locations to `hx` ([#12192](https://github.com/helix-editor/helix/pull/12192)) -* Add path completion for multiple cursors ([#12550](https://github.com/helix-editor/helix/pull/12550), [c9dc940](https://github.com/helix-editor/helix/commit/c9dc940)) -* Truncate long prompt lines with "…" ([#12036](https://github.com/helix-editor/helix/pull/12036), [9d6ea77](https://github.com/helix-editor/helix/commit/9d6ea77), [0b9701e](https://github.com/helix-editor/helix/commit/0b9701e), [d3fb8fc](https://github.com/helix-editor/helix/commit/d3fb8fc)) -* Allow specifying languages in `:lsp-stop` and `:lsp-restart` ([#12578](https://github.com/helix-editor/helix/pull/12578), [3d7e273](https://github.com/helix-editor/helix/commit/3d7e273)) -* Add `m` (nearest matching pair) to infobox popups for `md` and `mr` ([#12650](https://github.com/helix-editor/helix/pull/12650)) -* Add a hint message in the statusline when using `:sort` on a single selection ([#12585](https://github.com/helix-editor/helix/pull/12585)) -* Avoid wrapping around in `goto_{next,prev}_diag` ([#12704](https://github.com/helix-editor/helix/pull/12704)) -* Support responses from multiple language servers for LSP goto-definition (and declaration, type definition and implementation) and goto-references ([f7394d5](https://github.com/helix-editor/helix/commit/f7394d5), [1a821ac](https://github.com/helix-editor/helix/commit/1a821ac), [d285a8a](https://github.com/helix-editor/helix/commit/d285a8a)) -* Show formatter errors in `:format` ([47f84d0](https://github.com/helix-editor/helix/commit/47f84d0)) -* Show typable command docs in keybinding infobox popups when the command takes no arguments ([e9c16b7](https://github.com/helix-editor/helix/commit/e9c16b7)) -* Add per-command titles to register selection infobox popups for `select_register`, `insert_register` and `copy_between_registers` ([e0da129](https://github.com/helix-editor/helix/commit/e0da129)) -* Add container name column to the LSP symbol picker ([#12930](https://github.com/helix-editor/helix/pull/12930)) -* Add a theme key for highlighting directories in completions and picker items ([#12855](https://github.com/helix-editor/helix/pull/12855), [7bebe0a](https://github.com/helix-editor/helix/commit/7bebe0a)) -* Add `editor.trim-final-newlines` and `editor.trim-trailing-whitespace` config options ([aa20eb8](https://github.com/helix-editor/helix/commit/aa20eb8)) -* Warn when the configured theme is unusable because true-color is not available ([#13058](https://github.com/helix-editor/helix/pull/13058)) -* Allow configuring `[workspace-]diagnostic` statusline element severities ([#13288](https://github.com/helix-editor/helix/pull/13288), [b0528bb](https://github.com/helix-editor/helix/commit/b0528bb)) -* Improve completion for shell commands ([#12883](https://github.com/helix-editor/helix/pull/12883), [532f241](https://github.com/helix-editor/helix/commit/532f241)) -* Show the primary selection index in the `selections` statusline element when there are multiple selections ([#12326](https://github.com/helix-editor/helix/pull/12326)) -* Use configured language server names when possible in `--health` output ([#13573](https://github.com/helix-editor/helix/pull/13573)) -* Add a statusline element for indentation style ([#13632](https://github.com/helix-editor/helix/pull/13632)) -* Set the working directory of language server commands to the workspace root ([#13691](https://github.com/helix-editor/helix/pull/13691)) -* Avoid jumpiness in the picker preview for languages with non-default tab widths ([#13761](https://github.com/helix-editor/helix/pull/13761)) -* Add a config option for limiting LSP inlay hint length ([#13742](https://github.com/helix-editor/helix/pull/13742)) -* Improve heuristics used in the diff gutter ([#13722](https://github.com/helix-editor/helix/pull/13722)) -* Allow moving a file with `:move` when its old path does not exist ([#13748](https://github.com/helix-editor/helix/pull/13748)) -* Allow moving a file into a directory with `:move` ([#13922](https://github.com/helix-editor/helix/pull/13922)) -* Show human-readable file sizes in the statusline message for file writes ([#13627](https://github.com/helix-editor/helix/pull/13627)) -* Add diagnostic source to the diagnosics pickers ([#13758](https://github.com/helix-editor/helix/pull/13758)) -* Show all active scopes under the cursor in `:tree-sitter-highlight-name` ([4a85171](https://github.com/helix-editor/helix/commit/4a85171)) -* Auto-close the LSP code-actions popup ([#13832](https://github.com/helix-editor/helix/pull/13832)) -* Add a configuration option for controlling atomic writes to disk ([#13656](https://github.com/helix-editor/helix/pull/13656)) - -Fixes: - -* Fix panic from using `search_selection_detect_word_boundaries` (`*`) at the end of the file ([#12611](https://github.com/helix-editor/helix/pull/12611)) -* Discard placeholder text for zero tabstop `${0:placeholder}` ([#12647](https://github.com/helix-editor/helix/pull/12647)) -* Fix panic in `goto_file` (`gf`) on file names with non-ASCII characters ([#12673](https://github.com/helix-editor/helix/pull/12673)) -* Only accept unmodified characters in `goto_word` (`gw`) ([f5f9f49](https://github.com/helix-editor/helix/commit/f5f9f49), [0364521](https://github.com/helix-editor/helix/commit/0364521)) -* Skip recording keys pressed by macros while recording a macro ([#12733](https://github.com/helix-editor/helix/pull/12733)) -* Deny unknown fields in `editor.smart-tab` config ([28047fe](https://github.com/helix-editor/helix/commit/28047fe)) -* Fix soft-wrap word boundary detection for Unicode combining accent characters ([#12483](https://github.com/helix-editor/helix/pull/12483)) -* Fix clearing of infobox popups in `select_register` and `insert_register` commands ([e882a75](https://github.com/helix-editor/helix/commit/e882a75)) -* Fix handling of `stderr` of DAP child processes ([d0d1693](https://github.com/helix-editor/helix/commit/d0d1693)) -* Cancel all pending requests when a DAP session terminates ([26db541](https://github.com/helix-editor/helix/commit/26db541)) -* Properly discard out-of-date diagnostics ([313a647](https://github.com/helix-editor/helix/commit/313a647)) -* Fix display of multiple language servers in `hx --health` ([#12841](https://github.com/helix-editor/helix/pull/12841)) -* Respect `editor.default-yank-register` in `:yank-joined` ([#12890](https://github.com/helix-editor/helix/pull/12890)) -* Escape percent character when pasting the history register into the picker ([#12886](https://github.com/helix-editor/helix/pull/12886)) -* Render rulers before the cursor ([2d3b75a](https://github.com/helix-editor/helix/commit/2d3b75a)) -* Avoid inserting final newlines in empty files ([67879a1](https://github.com/helix-editor/helix/commit/67879a1)) -* Gracefully handle partial failure in multi-language-server requests ([#13156](https://github.com/helix-editor/helix/pull/13156), [14cab4b](https://github.com/helix-editor/helix/commit/14cab4b)) -* Improve LSP progress message display in the statusline ([#13180](https://github.com/helix-editor/helix/pull/13180)) -* Fix behavior of `<esc>` removing added indentation in documents with CRLF line endings ([702a961](https://github.com/helix-editor/helix/commit/702a961)) -* Append changes to document history before pushing jumplist jumps ([#13619](https://github.com/helix-editor/helix/pull/13619)) -* Fix overflow in the display of large chunks of text in the signature-help component ([#13566](https://github.com/helix-editor/helix/pull/13566)) -* Fix panic from clearing whitespace when changing multiple selections on one line ([#13673](https://github.com/helix-editor/helix/pull/13673)) -* Include formatting options in LSP range formatting request ([#13734](https://github.com/helix-editor/helix/pull/13734)) -* Consistently set statusline errors when LSP features are not available ([#12577](https://github.com/helix-editor/helix/pull/12577)) -* Fix `goto_file` on Windows ([#13770](https://github.com/helix-editor/helix/pull/13770)) -* Fix crash in `goto_word` (`gw`) when `editor.jump-label-alphabet` is configured to be empty ([#13863](https://github.com/helix-editor/helix/pull/13863)) -* Fix `open_above` / `open_below` (`o` / `O`) when using a count on a document with CRLF line-endings ([#13905](https://github.com/helix-editor/helix/pull/13905)) - -Themes: - -* Update `modus` themes ([#12670](https://github.com/helix-editor/helix/pull/12670)) -* Update `snazzy` ([#11089](https://github.com/helix-editor/helix/pull/11089)) -* Update `gruber-darker` ([#12797](https://github.com/helix-editor/helix/pull/12797)) -* Update `cyan_light` ([#12864](https://github.com/helix-editor/helix/pull/12864), [#12891](https://github.com/helix-editor/helix/pull/12891)) -* Update `onedarker` ([#12833](https://github.com/helix-editor/helix/pull/12833)) -* Update `github_light` ([#12907](https://github.com/helix-editor/helix/pull/12907)) -* Update `kanagawa` ([#12895](https://github.com/helix-editor/helix/pull/12895)) -* Add `beans` ([#12963](https://github.com/helix-editor/helix/pull/12963)) -* Update `base16_transparent` ([#13080](https://github.com/helix-editor/helix/pull/13080)) -* Update `sunset` ([#13086](https://github.com/helix-editor/helix/pull/13086)) -* Add `carbon` ([#13067](https://github.com/helix-editor/helix/pull/13067)) -* Update `soralized` ([#13121](https://github.com/helix-editor/helix/pull/13121)) -* Add `focus_nova` ([#13144](https://github.com/helix-editor/helix/pull/13144)) -* Update `onedark` ([#13166](https://github.com/helix-editor/helix/pull/13166)) -* Update `adwaita-light` ([#13174](https://github.com/helix-editor/helix/pull/13174)) -* Add `earl_grey` ([#13203](https://github.com/helix-editor/helix/pull/13203)) -* Update `spacebones` ([#13213](https://github.com/helix-editor/helix/pull/13213)) -* Add `peachpuff` ([#13225](https://github.com/helix-editor/helix/pull/13225)) -* Update catppuccin themes ([#13262](https://github.com/helix-editor/helix/pull/13262)) -* Update gruvbox themes ([#13315](https://github.com/helix-editor/helix/pull/13315)) -* Update serika themes ([#13341](https://github.com/helix-editor/helix/pull/13341)) -* Add `gruvbox-material` ([#13311](https://github.com/helix-editor/helix/pull/13311)) -* Add `ashen` ([#13366](https://github.com/helix-editor/helix/pull/13366)) -* Update Zed themes ([#13370](https://github.com/helix-editor/helix/pull/13370)) -* Update Tokyonight themes ([#13375](https://github.com/helix-editor/helix/pull/13375)) -* Update `onelight` ([#13413](https://github.com/helix-editor/helix/pull/13413)) -* Add `ataraxia` ([#13390](https://github.com/helix-editor/helix/pull/13390)) -* Add `vesper` ([#13394](https://github.com/helix-editor/helix/pull/13394)) -* Add `kinda_nvim` and `kinda_nvim_light` ([#13406](https://github.com/helix-editor/helix/pull/13406)) -* Update `sonokai` ([#13410](https://github.com/helix-editor/helix/pull/13410)) -* Add `nyxvamp` themes ([#12185](https://github.com/helix-editor/helix/pull/12185)) -* Update nord themes ([#13574](https://github.com/helix-editor/helix/pull/13574)) -* Add `lapis_aquamarine` ([#13726](https://github.com/helix-editor/helix/pull/13726)) -* Add `sidra` ([#13575](https://github.com/helix-editor/helix/pull/13575)) -* Add `dark-synthwave` ([#13857](https://github.com/helix-editor/helix/pull/13857)) -* Update `rose_pine` ([#13908](https://github.com/helix-editor/helix/pull/13908)) -* Add `doom-one` ([#13933](https://github.com/helix-editor/helix/pull/13933)) -* Update `nightfox` ([#13957](https://github.com/helix-editor/helix/pull/13957)) - -New languages: - -* Ghostty config ([#12703](https://github.com/helix-editor/helix/pull/12703)) -* Tera ([#12756](https://github.com/helix-editor/helix/pull/12756)) -* FGA ([#12763](https://github.com/helix-editor/helix/pull/12763)) -* CSV ([#11973](https://github.com/helix-editor/helix/pull/11973)) -* Yara ([#12753](https://github.com/helix-editor/helix/pull/12753)) -* Djot ([#12562](https://github.com/helix-editor/helix/pull/12562)) -* Ink ([#12773](https://github.com/helix-editor/helix/pull/12773)) -* Mail ([#12945](https://github.com/helix-editor/helix/pull/12945)) -* SourcePawn ([#13028](https://github.com/helix-editor/helix/pull/13028)) -* TLA+ ([#13081](https://github.com/helix-editor/helix/pull/13081)) -* Werk ([#13136](https://github.com/helix-editor/helix/pull/13136)) -* Debian control file ([#13245](https://github.com/helix-editor/helix/pull/13245)) -* WESL ([#13267](https://github.com/helix-editor/helix/pull/13267)) -* Fennel ([#13260](https://github.com/helix-editor/helix/pull/13260), [6081a5d](https://github.com/helix-editor/helix/commit/6081a5d)) -* Quarto ([#13339](https://github.com/helix-editor/helix/pull/13339)) -* Pug ([#13435](https://github.com/helix-editor/helix/pull/13435)) -* Slang ([#13449](https://github.com/helix-editor/helix/pull/13449)) -* Dunst config ([#13458](https://github.com/helix-editor/helix/pull/13458)) -* Luau ([#13702](https://github.com/helix-editor/helix/pull/13702)) -* Caddyfile ([#13859](https://github.com/helix-editor/helix/pull/13859)) -* Java properties ([#13874](https://github.com/helix-editor/helix/pull/13874)) -* Git notes ([#13885](https://github.com/helix-editor/helix/pull/13885)) -* systemd (split from INI) ([#13907](https://github.com/helix-editor/helix/pull/13907)) -* JSON-LD (split from JSON) ([#13925](https://github.com/helix-editor/helix/pull/13925)) -* Django HTML ([#13935](https://github.com/helix-editor/helix/pull/13935)) - -Updated languages and queries: - -* Add `ruby-lsp` for Ruby ([#12511](https://github.com/helix-editor/helix/pull/12511)) -* Add `wat_server` for Wat ([#12581](https://github.com/helix-editor/helix/pull/12581)) -* Recognize `bun.lock` as JSONC ([fcf981b](https://github.com/helix-editor/helix/commit/fcf981b)) -* Update tree-sitter-rust ([#12607](https://github.com/helix-editor/helix/pull/12607), [1afa63d](https://github.com/helix-editor/helix/commit/1afa63d)) -* Fix configuration of `cs-lsp` ([#12615](https://github.com/helix-editor/helix/pull/12615)) -* Add `beancount-language-server` for Beancount ([#12610](https://github.com/helix-editor/helix/pull/12610)) -* Update tree-sitter-fish ([#12456](https://github.com/helix-editor/helix/pull/12456)) -* Add `fish-lsp` for Fish ([#12456](https://github.com/helix-editor/helix/pull/12456)) -* Update tree-sitter-ini ([#12456](https://github.com/helix-editor/helix/pull/12456), [#13088](https://github.com/helix-editor/helix/pull/13088)) -* Recognize `hgrc` as INI ([#12456](https://github.com/helix-editor/helix/pull/12456)) -* Restrict tagged template injection languages for ECMA languages ([#12217](https://github.com/helix-editor/helix/pull/12217)) -* Update tree-sitter-zig ([#11980](https://github.com/helix-editor/helix/pull/11980), [#12708](https://github.com/helix-editor/helix/pull/12708)) -* Update tree-sitter-elixir ([8bf9adf](https://github.com/helix-editor/helix/commit/8bf9adf)) -* Add `asm-lsp` for Assembly dialects ([#12684](https://github.com/helix-editor/helix/pull/12684)) -* Update tree-sitter-just ([#12692](https://github.com/helix-editor/helix/pull/12692), #) -* Update tree-sitter-cairo ([#12712](https://github.com/helix-editor/helix/pull/12712)) -* Configure a comment token for Svelte ([#12743](https://github.com/helix-editor/helix/pull/12743)) -* Recognize `.sublime-*` files ([#12750](https://github.com/helix-editor/helix/pull/12750)) -* Highlight `$` tagged templates as shell commands in ECMA languages ([#12751](https://github.com/helix-editor/helix/pull/12751)) -* Add `#'` comment token for R ([#12748](https://github.com/helix-editor/helix/pull/12748)) -* Fix module/namespace highlight in Unison ([93fa990](https://github.com/helix-editor/helix/commit/93fa990)) -* Add missing `#not-eq?` and `#not-match?` highlights in TSQ ([3824010](https://github.com/helix-editor/helix/commit/3824010)) -* Reverse the precedence order of highlight queries ([#9458](https://github.com/helix-editor/helix/pull/9458), [#12777](https://github.com/helix-editor/helix/pull/12777), [#12795](https://github.com/helix-editor/helix/pull/12795), [144a4f4](https://github.com/helix-editor/helix/commit/144a4f4), [e1c26eb](https://github.com/helix-editor/helix/commit/e1c26eb), [e1060a2](https://github.com/helix-editor/helix/commit/e1060a2), [7f41670](https://github.com/helix-editor/helix/commit/7f41670), [#13293](https://github.com/helix-editor/helix/pull/13293)) -* Update Rust highlights ([b8bfc44](https://github.com/helix-editor/helix/commit/b8bfc44), [#12871](https://github.com/helix-editor/helix/pull/12871), [#13664](https://github.com/helix-editor/helix/pull/13664)) -* Add block comment configuration for PHP ([0ab403d](https://github.com/helix-editor/helix/commit/0ab403d)) -* Update Gren highlights ([#12769](https://github.com/helix-editor/helix/pull/12769)) -* Remove `ERROR` node highlighting from all highlight queries ([16ff063](https://github.com/helix-editor/helix/commit/16ff063)) -* Update tree-sitter-erlang and highlights ([18b9eb9](https://github.com/helix-editor/helix/commit/18b9eb9), [9f3b193](https://github.com/helix-editor/helix/commit/9f3b193), [12139a4](https://github.com/helix-editor/helix/commit/12139a4)) -* Update Nix injections ([#12776](https://github.com/helix-editor/helix/pull/12776), [#12774](https://github.com/helix-editor/helix/pull/12774), [#13851](https://github.com/helix-editor/helix/pull/13851)) -* Add indent queries for Nix ([#12829](https://github.com/helix-editor/helix/pull/12829)) -* Update Markdown highlights ([#12696](https://github.com/helix-editor/helix/pull/12696)) -* Recognize `xsl` as XML ([#12834](https://github.com/helix-editor/helix/pull/12834)) -* Remove deprecated `typst-lsp` config ([5a66270](https://github.com/helix-editor/helix/commit/5a66270)) -* Replace `pkgbuild-language-server` with `termux-language-server` ([c3c9a0d](https://github.com/helix-editor/helix/commit/c3c9a0d)) -* Update SQL highlights ([#12837](https://github.com/helix-editor/helix/pull/12837)) -* Recognize `mpd` and `smil` as XML ([#12916](https://github.com/helix-editor/helix/pull/12916)) -* Add indents and textojbects for Kotlin ([#12925](https://github.com/helix-editor/helix/pull/12925)) -* Fix module highlights in Koto ([7e87a36](https://github.com/helix-editor/helix/commit/7e87a36)) -* Update language servers for Protobuf ([#12936](https://github.com/helix-editor/helix/pull/12936)) -* Add `astro-ls` for Astro ([#12939](https://github.com/helix-editor/helix/pull/12939)) -* Fix recognition of "scons*" files as Python ([#12943](https://github.com/helix-editor/helix/pull/12943)) -* Update C# queries ([#12948](https://github.com/helix-editor/helix/pull/12948)) -* Add comment textojbect to TOML ([#12952](https://github.com/helix-editor/helix/pull/12952)) -* Add `starpls` as Starlark language server ([#12958](https://github.com/helix-editor/helix/pull/12958)) -* Add `pkl-lsp` for PKL ([#12962](https://github.com/helix-editor/helix/pull/12962)) -* Add `kdlfmt` formatter for KDL ([#12967](https://github.com/helix-editor/helix/pull/12967)) -* Update CSS highlights ([#12497](https://github.com/helix-editor/helix/pull/12497), [fed3edc](https://github.com/helix-editor/helix/commit/fed3edc)) -* Add `harper-ls` ([#13029](https://github.com/helix-editor/helix/pull/13029)) -* Change `wgsl_analyzer` to `wgsl-analyzer` ([#13063](https://github.com/helix-editor/helix/pull/13063)) -* Update tree-sitter-vhdl ([#13091](https://github.com/helix-editor/helix/pull/13091)) -* Update tree-sitter-openscad ([#13033](https://github.com/helix-editor/helix/pull/13033)) -* Update Rust injections ([694b615](https://github.com/helix-editor/helix/commit/694b615), [1bd7a39](https://github.com/helix-editor/helix/commit/1bd7a39)) -* Update Ruby highlights ([#13055](https://github.com/helix-editor/helix/pull/13055)) -* Recognize `gitconfig` as an extension ([#13115](https://github.com/helix-editor/helix/pull/13115)) -* Add `///` comment token for Amber ([#13122](https://github.com/helix-editor/helix/pull/13122)) -* Add indent queries for Starlark ([#13126](https://github.com/helix-editor/helix/pull/13126)) -* Recognize more systemd file types as INI ([#13139](https://github.com/helix-editor/helix/pull/13139)) -* Update scheme queries ([#13143](https://github.com/helix-editor/helix/pull/13143)) -* Recognize `tmTheme` as XML ([#13202](https://github.com/helix-editor/helix/pull/13202)) -* Update `golangci-lint` command for v2 ([#13204](https://github.com/helix-editor/helix/pull/13204)) -* Add `just-lsp` for Just ([#13276](https://github.com/helix-editor/helix/pull/13276)) -* Add a tree-sitter-prolog grammar ([#11611](https://github.com/helix-editor/helix/pull/11611)) -* Fix typos in Ada queries ([#13251](https://github.com/helix-editor/helix/pull/13251)) -* Update mint language server args ([#13248](https://github.com/helix-editor/helix/pull/13248)) -* Update typescript highlights ([#13250](https://github.com/helix-editor/helix/pull/13250)) -* Update tree-sitter-jjdescription ([#13329](https://github.com/helix-editor/helix/pull/13329)) -* Add injection queries for Quint ([#13322](https://github.com/helix-editor/helix/pull/13322)) -* Update tree-sitter-scss and highlights ([#13414](https://github.com/helix-editor/helix/pull/13414)) -* Update tree-sitter-go-mod ([#13395](https://github.com/helix-editor/helix/pull/13395)) -* Update tree-sitter-svelte ([#13423](https://github.com/helix-editor/helix/pull/13423)) -* Update Lua highlights ([#13401](https://github.com/helix-editor/helix/pull/13401)) -* Update Go highlights ([#13425](https://github.com/helix-editor/helix/pull/13425), [25b299a](https://github.com/helix-editor/helix/commit/25b299a), [#13825](https://github.com/helix-editor/helix/pull/13825)) -* Recognize `.git-blame-ignore-revs` as gitignore ([#13460](https://github.com/helix-editor/helix/pull/13460)) -* Update Verilog highlights ([#13473](https://github.com/helix-editor/helix/pull/13473), [#13493](https://github.com/helix-editor/helix/pull/13493)) -* Update tree-sitter-v ([#13469](https://github.com/helix-editor/helix/pull/13469)) -* Update WGSL highlights ([#13479](https://github.com/helix-editor/helix/pull/13479)) -* Update Bash highlights ([#13477](https://github.com/helix-editor/helix/pull/13477)) -* Update tree-sitter-cpp ([#13504](https://github.com/helix-editor/helix/pull/13504)) -* Update rust-analyzer config to use server-side file watching ([#13432](https://github.com/helix-editor/helix/pull/13432)) -* Update Vue injections ([#13511](https://github.com/helix-editor/helix/pull/13511)) -* Recognize `sld` as Scheme ([#13528](https://github.com/helix-editor/helix/pull/13528)) -* Recognize more files as git-attributes ([#13540](https://github.com/helix-editor/helix/pull/13540)) -* Update tree-sitter-haskell and queries ([#13475](https://github.com/helix-editor/helix/pull/13475)) -* Align INI highlights with TOML ([#13589](https://github.com/helix-editor/helix/pull/13589)) -* Add tree-sitter-rust-format-args for `format_args!` injections in Rust ([#13533](https://github.com/helix-editor/helix/pull/13533), [#13657](https://github.com/helix-editor/helix/pull/13657), [4dd4ba7](https://github.com/helix-editor/helix/commit/4dd4ba7), [86f10ae](https://github.com/helix-editor/helix/commit/86f10ae)) -* Update Ungrammar highlights ([8d58f6c](https://github.com/helix-editor/helix/commit/8d58f6c)) -* Add `ty` language server for Python ([#13643](https://github.com/helix-editor/helix/pull/13643)) -* Add `clarinet` language server for Clarity ([#13647](https://github.com/helix-editor/helix/pull/13647)) -* Update prisma config to avoid a crash in the language server ([f6878f6](https://github.com/helix-editor/helix/commit/f6878f6)) -* Add `pyrefly` for Python ([#13713](https://github.com/helix-editor/helix/pull/13713)) -* Update Python highlights ([#13715](https://github.com/helix-editor/helix/pull/13715)) -* Update Mojo language server and formatter to `pixi` ([#13648](https://github.com/helix-editor/helix/pull/13648)) -* Add `tombi` for TOML ([#13723](https://github.com/helix-editor/helix/pull/13723)) -* Add `neocmakelsp` for CMake ([#13740](https://github.com/helix-editor/helix/pull/13740)) -* Update C and C++ highlights ([#13747](https://github.com/helix-editor/helix/pull/13747), [#13772](https://github.com/helix-editor/helix/pull/13772)) -* Highlight escape sequences in ECMA languages ([#13762](https://github.com/helix-editor/helix/pull/13762)) -* Add an external formatter config for Crystal ([#13759](https://github.com/helix-editor/helix/pull/13759)) -* Add `amber-lsp` for Amber ([#13763](https://github.com/helix-editor/helix/pull/13763)) -* Update HTML highlights ([#13753](https://github.com/helix-editor/helix/pull/13753)) -* Update tree-sitter-purescript and highlights ([#13782](https://github.com/helix-editor/helix/pull/13782)) -* Update tree-sitter-gleam and highlights ([#13793](https://github.com/helix-editor/helix/pull/13793), [#13807](https://github.com/helix-editor/helix/pull/13807), [#13813](https://github.com/helix-editor/helix/pull/13813)) -* Recognize Buck files as Starlark ([#13810](https://github.com/helix-editor/helix/pull/13810)) -* Use tree-sitter-crystal instead of tree-sitter-ruby for Crystal and add custom queries ([#13805](https://github.com/helix-editor/helix/pull/13805)) -* Update tree-sitter-twig ([#13689](https://github.com/helix-editor/helix/pull/13689)) -* Recognize `jsconfig.json` as JSONC, use as JavaScript and JSX roots ([#13822](https://github.com/helix-editor/helix/pull/13822)) -* Recognize `.gem/credentials` as YAML ([#13843](https://github.com/helix-editor/helix/pull/13843)) -* Update Dockerfile injections ([#13845](https://github.com/helix-editor/helix/pull/13845), 13852) -* Change tree-sitter parser for Git commit message files ([44293df](https://github.com/helix-editor/helix/commit/44293df)) -* Recognize `mimeapps.list` as INI ([#13850](https://github.com/helix-editor/helix/pull/13850)) -* Update tree-sitter-odin, highlights and indents ([#13877](https://github.com/helix-editor/helix/pull/13877), [#13917](https://github.com/helix-editor/helix/pull/13917)) -* Add locals queries for C, improve parameter highlighting ([#13876](https://github.com/helix-editor/helix/pull/13876)) -* Add textobjects for QML ([#13855](https://github.com/helix-editor/helix/pull/13855)) -* Add comment tokens for DTD ([#13904](https://github.com/helix-editor/helix/pull/13904)) -* Add `dts-lsp` for DeviceTree ([#13907](https://github.com/helix-editor/helix/pull/13907)) -* Update gomod highlights ([#13913](https://github.com/helix-editor/helix/pull/13913)) -* Recognize `compose.yaml` and `compose.yml` as Docker Compose ([#13930](https://github.com/helix-editor/helix/pull/13930)) - -Packaging: - -* Fix handling of spaces in Bash completion ([#12828](https://github.com/helix-editor/helix/pull/12828)) -* Refactor Nix flake ([#12831](https://github.com/helix-editor/helix/pull/12831), [#13024](https://github.com/helix-editor/helix/pull/13024), [cb1ecc9](https://github.com/helix-editor/helix/commit/cb1ecc9), [#13305](https://github.com/helix-editor/helix/pull/13305)) -* Add `ConsoleOnly` to `Helix.desktop` categories ([#13236](https://github.com/helix-editor/helix/pull/13236)) -* Drop Nix flake dependency on flake-utils ([60a03a3](https://github.com/helix-editor/helix/commit/60a03a3)) -* Increase the MSRV to 1.82 ([#13275](https://github.com/helix-editor/helix/pull/13275)) - -# 25.01.1 (2025-01-19) - -25.01.1 is a patch release focusing on fixing bugs and panics from changes in 25.01. - -Usability improvements: - -* Run external formatters from the document's directory ([#12315](https://github.com/helix-editor/helix/pull/12315)) - -Fixes: - -* Fix blank buffer picker preview on doc with no views ([917174e](https://github.com/helix-editor/helix/commit/917174e)) -* Fix `join_selections` behavior on tabs ([#12452](https://github.com/helix-editor/helix/pull/12452)) -* Fix recognition for color LSP completion hex codes for some language servers ([#12501](https://github.com/helix-editor/helix/pull/12501)) -* Fix offsets to selections updated by `open_below`/`open_above` (`o`/`O`) in multi-cursor scenarios ([#12465](https://github.com/helix-editor/helix/pull/12465)) -* Fix offsets to selections updated by `insert_newline` when trimming whitespace in multi-cursor scenarios ([4bd17e5](https://github.com/helix-editor/helix/commit/4bd17e5)) -* Fix panic in path completion from resolving variables like `${HOME:-$HOME}` ([#12556](https://github.com/helix-editor/helix/pull/12556)) -* Prevent line comment continuation when using `change_selection` (`c`) on a line above a comment ([#12575](https://github.com/helix-editor/helix/pull/12575)) - -Themes: - -* Update `onelight` ([#12399](https://github.com/helix-editor/helix/pull/12399)) -* Add cursorline color to iceberg themes ([#12404](https://github.com/helix-editor/helix/pull/12404)) -* Update `special`, `ui.text.directory` and `ui.virtual.wrap` in `dark_plus` ([#12530](https://github.com/helix-editor/helix/pull/12530)) - -New languages: - -* CodeQL ([#12470](https://github.com/helix-editor/helix/pull/12470)) -* Gren ([#12525](https://github.com/helix-editor/helix/pull/12525)) - -Updated languages and queries: - -* Fix Teal LSP name ([#12395](https://github.com/helix-editor/helix/pull/12395)) -* Highlight `:` in Rust as a delimiter ([#12408](https://github.com/helix-editor/helix/pull/12408)) -* Update Swift highlights ([#12409](https://github.com/helix-editor/helix/pull/12409)) -* Highlight JSX attributes as `@attribute` ([#12416](https://github.com/helix-editor/helix/pull/12416)) -* Improve markdown heading highlights ([#12417](https://github.com/helix-editor/helix/pull/12417)) -* Add comment tokens configuration for JSONC ([b26903c](https://github.com/helix-editor/helix/commit/b26903c)) -* Highlight the never type `!` as a type in Rust ([#12485](https://github.com/helix-editor/helix/pull/12485)) -* Expand builtin function highlights for ECMA languages, Rust and Haskell ([#12488](https://github.com/helix-editor/helix/pull/12488)) -* Recognize `.clang-tidy` as YAML ([#12498](https://github.com/helix-editor/helix/pull/12498)) -* Update MATLAB grammar and indent queries ([#12518](https://github.com/helix-editor/helix/pull/12518)) -* Recognize `rockspec` as Lua ([#12516](https://github.com/helix-editor/helix/pull/12516)) -* Add `///` to Dart comment tokens configuration ([99d33c7](https://github.com/helix-editor/helix/commit/99d33c7)) -* Update Solidity grammar and queries ([#12457](https://github.com/helix-editor/helix/pull/12457)) -* Update Spade grammar and queries ([#12583](https://github.com/helix-editor/helix/pull/12583)) -* Re-enable Hare fetching and building by default ([#11507](https://github.com/helix-editor/helix/pull/11507)) - -Packaging: - -* `--version` now prints a leading zero for single-digit months, for example `25.01` (03f35af) -* Pin the Ubuntu GitHub Actions runners used for releases to `ubuntu-22.04` ([#12464](https://github.com/helix-editor/helix/pull/12464)) -* Produce a Debian package (`.deb` file) in the release GitHub Actions workflow ([#12453](https://github.com/helix-editor/helix/pull/12453)) - -# 25.01 (2025-01-03) - -As always, a big thank you to all of the contributors! This release saw changes from 171 contributors. - -Breaking changes: - -* The `editor.lsp.display-messages` key now controls messages sent with the LSP `window/showMessage` notification rather than progress messages. If you want to enable progress messages you should now enable the `editor.lsp.display-progress-messages` key instead. ([#5535](https://github.com/helix-editor/helix/pull/5535)) - -Features: - -* Big refactor for `Picker`s ([#9647](https://github.com/helix-editor/helix/pull/9647), [#11209](https://github.com/helix-editor/helix/pull/11209), [#11216](https://github.com/helix-editor/helix/pull/11216), [#11211](https://github.com/helix-editor/helix/pull/11211), [#11343](https://github.com/helix-editor/helix/pull/11343), [#11406](https://github.com/helix-editor/helix/pull/11406)) - * Use a table layout and allow filtering by column - * Reimplement `global_search` to allow changing the query dynamically -* Add an alternative "inline" display for LSP diagnostics ([#6417](https://github.com/helix-editor/helix/pull/6417), [#11815](https://github.com/helix-editor/helix/pull/11815)) -* Support defining keybindings as macros ([#4709](https://github.com/helix-editor/helix/pull/4709)) -* Continue line comments in `o`/`O` and on `<ret>` in insert mode ([#10996](https://github.com/helix-editor/helix/pull/10996), [#12213](https://github.com/helix-editor/helix/pull/12213), [#12215](https://github.com/helix-editor/helix/pull/12215)) -* Allow configuring and switching clipboard providers at runtime ([#10839](https://github.com/helix-editor/helix/pull/10839), [b855cd0](https://github.com/helix-editor/helix/commit/b855cd0), [467fad5](https://github.com/helix-editor/helix/commit/467fad5), [191b0f0](https://github.com/helix-editor/helix/commit/191b0f0)) -* Add support for path completion ([#2608](https://github.com/helix-editor/helix/pull/2608)) -* Support bindings with the Super (Cmd/Win/Meta) modifier ([#6592](https://github.com/helix-editor/helix/pull/6592)) -* Support rendering and jumping between tabstops in snippet completions ([#9801](https://github.com/helix-editor/helix/pull/9801)) -* Allow theming directory completions ([#12205](https://github.com/helix-editor/helix/pull/12205), [#12295](https://github.com/helix-editor/helix/pull/12295)) - -Commands: - -* Add commands to move within snake_case or camelCase words ([#8147](https://github.com/helix-editor/helix/pull/8147)) -* Add `search_selection_detect_word_boundaries` ([#12126](https://github.com/helix-editor/helix/pull/12126)) - * This command takes the `*` key in normal and select mode, replacing `search_selection` which was moved to `A-*`. - -Usability improvements: - -* Add `:edit` and `:e` aliases for `:open` ([#11186](https://github.com/helix-editor/helix/pull/11186), [#11196](https://github.com/helix-editor/helix/pull/11196)) -* Trim trailing newline from pipe command outputs when the input doesn't have a trailing newline ([#11183](https://github.com/helix-editor/helix/pull/11183), [4f63a46](https://github.com/helix-editor/helix/commit/4f63a46)) -* Add `:mv` alias for `:move` ([#11256](https://github.com/helix-editor/helix/pull/11256)) -* Return document display name instead of absolute path from the `%` special register ([#11275](https://github.com/helix-editor/helix/pull/11275)) -* Track view position on a per-view instead of per-document basis ([#10559](https://github.com/helix-editor/helix/pull/10559)) -* Improve scrolloff calculation to leave a gap in the middle ([#11323](https://github.com/helix-editor/helix/pull/11323)) -* Show a popup for stderr printed by failed `:sh` commands ([#11239](https://github.com/helix-editor/helix/pull/11239)) -* Add statusline errors when nothing is selected with `s`, `K`, `A-K` ([#11370](https://github.com/helix-editor/helix/pull/11370)) -* Add `.svn` as a workspace root marker ([#11429](https://github.com/helix-editor/helix/pull/11429)) -* Trim the end of `:sh` outputs ([#11161](https://github.com/helix-editor/helix/pull/11161)) -* Show LSP `window/showMessage` messages in the statusline ([#5535](https://github.com/helix-editor/helix/pull/5535)) -* Support finding workspace directories via `.jj` directories ([#11685](https://github.com/helix-editor/helix/pull/11685)) -* Join single-line comments with `join_selections` (`J`) ([#11742](https://github.com/helix-editor/helix/pull/11742)) -* Show anonymous syntax tree nodes in `:tree-sitter-subtree` ([#11663](https://github.com/helix-editor/helix/pull/11663), [38e8382](https://github.com/helix-editor/helix/commit/38e8382)) -* Save an undo checkpoint before paste in insert mode ([#8121](https://github.com/helix-editor/helix/pull/8121)) -* Only break on ASCII spaces in `:reflow` ([#12048](https://github.com/helix-editor/helix/pull/12048)) -* Add a `default-yank-register` config option ([#11430](https://github.com/helix-editor/helix/pull/11430)) -* Show a statusline error for `:format` when a formatter is not available ([#12183](https://github.com/helix-editor/helix/pull/12183)) -* Change to the home directory with `:cd` with no arguments ([#12042](https://github.com/helix-editor/helix/pull/12042)) -* Change default comment token to `#` for unrecognized files ([#12080](https://github.com/helix-editor/helix/pull/12080), [#12266](https://github.com/helix-editor/helix/pull/12266), [bae6a58](https://github.com/helix-editor/helix/commit/bae6a58)) -* Trim all trailing whitespace on `insert_newline` ([#12177](https://github.com/helix-editor/helix/pull/12177)) -* Change to the prior directory with `:cd -` ([#12194](https://github.com/helix-editor/helix/pull/12194)) -* Allow parsing `-` (with no modifiers) as a keybinding ([#12191](https://github.com/helix-editor/helix/pull/12191)) -* Improve opening statusline and error messages when opening duplicate files or directories ([#12199](https://github.com/helix-editor/helix/pull/12199)) -* Trim trailing colons in paths passed on the argv ([#9963](https://github.com/helix-editor/helix/pull/9963)) -* Show tree-sitter parser availability in `hx --health <lang>` ([#12228](https://github.com/helix-editor/helix/pull/12228)) -* Show a preview block for colors in the LSP completion menu ([#12299](https://github.com/helix-editor/helix/pull/12299)) -* Add infobox help for `surround_add`, `surround_replace` and `surround_delete` ([#12262](https://github.com/helix-editor/helix/pull/12262)) - -Fixes: - -* Respect document indentation settings in `format_selections` (`=`) ([#11169](https://github.com/helix-editor/helix/pull/11169)) -* Avoid switching the current document to normal mode during an LSP `workspace/applyEdit` operation ([#11176](https://github.com/helix-editor/helix/pull/11176)) -* Fix off-by-one in LSP `find_completion_range` ([#11266](https://github.com/helix-editor/helix/pull/11266)) -* Prefer file-system mtime to local system time for detecting external modifications ([#11142](https://github.com/helix-editor/helix/pull/11142), [#11352](https://github.com/helix-editor/helix/pull/11352), [#11358](https://github.com/helix-editor/helix/pull/11358), [#11361](https://github.com/helix-editor/helix/pull/11361)) -* Fix writing of hardlinks ([#11340](https://github.com/helix-editor/helix/pull/11340)) -* Prevent language servers from being automatically restarted when stopped with `:lsp-stop` ([#11321](https://github.com/helix-editor/helix/pull/11321)) -* Stable-sort LSP text edits ([#11357](https://github.com/helix-editor/helix/pull/11357)) -* Fix determination of current language layer in documents with nested language injections ([#11365](https://github.com/helix-editor/helix/pull/11365)) -* Fix a panic from `:move`ing a file to a new extension which starts a language server ([#11387](https://github.com/helix-editor/helix/pull/11387)) -* Fix a panic from duplicating the diff gutter ([#11092](https://github.com/helix-editor/helix/pull/11092)) -* Keep cursor position when exactly replacing text ([#5930](https://github.com/helix-editor/helix/pull/5930)) -* Fix a panic from `jump_backward` on a newly opened split ([#11508](https://github.com/helix-editor/helix/pull/11508)) -* Fix a panic from language servers sending an unknown diagnostic severity ([#11569](https://github.com/helix-editor/helix/pull/11569)) -* Fix a panic when drawing at the edge of the screen ([#11737](https://github.com/helix-editor/helix/pull/11737)) -* Fix git repo detection on symlinks ([#11732](https://github.com/helix-editor/helix/pull/11732)) -* Fix a panic from a language server sending an out-of-range active signature index in `textDocument/signatureHelp` ([#11825](https://github.com/helix-editor/helix/pull/11825)) -* Fix a panic from using `C-k` in a prompt ending in a multi-byte character ([#12237](https://github.com/helix-editor/helix/pull/12237)) -* Expand tildes in paths passed to `:read` ([#12271](https://github.com/helix-editor/helix/pull/12271)) -* Respect per-language `workspace-lsp-roots` configuration when opening new documents ([#12223](https://github.com/helix-editor/helix/pull/12223)) -* Consistently replace line-endings in paste/replace commands ([c262fe4](https://github.com/helix-editor/helix/commit/c262fe4)) -* Fix formatting in error statusline messages when inspecting variables in DAP ([#12354](https://github.com/helix-editor/helix/pull/12354)) -* Fix invisible printing of headers in `--health` output on light terminals ([#12355](https://github.com/helix-editor/helix/pull/12355)) -* Accept integers serialized as floats in the JSONRPC `id` field ([#12376](https://github.com/helix-editor/helix/pull/12376)) - -Themes: - -* Bring `kanagawa` colors better in line with neovim version ([#11187](https://github.com/helix-editor/helix/pull/11187), [#11270](https://github.com/helix-editor/helix/pull/11270)) -* Add `ao` ([#11063](https://github.com/helix-editor/helix/pull/11063)) -* Update `dark_plus` ([#11415](https://github.com/helix-editor/helix/pull/11415)) -* Add `iceberg-light` and `iceberg-dark` ([#10674](https://github.com/helix-editor/helix/pull/10674)) -* Update everforest themes ([#11459](https://github.com/helix-editor/helix/pull/11459)) -* Update gruvbox themes ([#11477](https://github.com/helix-editor/helix/pull/11477)) -* Change primary selection cursor color for `naysayer` ([#11617](https://github.com/helix-editor/helix/pull/11617)) -* Style picker column names in `horizon-dark` ([#11649](https://github.com/helix-editor/helix/pull/11649)) -* Style picker column names in Darcula themes ([#11649](https://github.com/helix-editor/helix/pull/11649)) -* Update diagnostics colors in `snazzy` ([#11731](https://github.com/helix-editor/helix/pull/11731)) -* Update bogster themes ([#11353](https://github.com/helix-editor/helix/pull/11353)) -* Highlight `keyword.storage` in `onedark` ([#11802](https://github.com/helix-editor/helix/pull/11802)) -* Add `ui.virtual.jump-label` to `serika-dark` ([#11911](https://github.com/helix-editor/helix/pull/11911)) -* Add `adwaita-light` ([#10869](https://github.com/helix-editor/helix/pull/10869)) -* Add seoul256 themes ([#11466](https://github.com/helix-editor/helix/pull/11466)) -* Add yo themes ([#11703](https://github.com/helix-editor/helix/pull/11703)) -* Add `eiffel` ([#11679](https://github.com/helix-editor/helix/pull/11679)) -* Add `carbonfox` ([#11558](https://github.com/helix-editor/helix/pull/11558)) -* Set tags color in monokai themes ([#11917](https://github.com/helix-editor/helix/pull/11917)) -* Improve readability of spacebones picker selection ([#12064](https://github.com/helix-editor/helix/pull/12064)) -* Update modus themes ([#11949](https://github.com/helix-editor/helix/pull/11949)) -* Use bold for statusline mode indicator in `onedarker` ([#11958](https://github.com/helix-editor/helix/pull/11958)) -* Update hex themes, add a new hex theme ([#10849](https://github.com/helix-editor/helix/pull/10849)) -* Add `sunset` ([#12093](https://github.com/helix-editor/helix/pull/12093)) -* Add bufferline highlighting for flexoki themes ([#12146](https://github.com/helix-editor/helix/pull/12146)) -* Add colors for (un)checked list items to catppuccin themes ([#12167](https://github.com/helix-editor/helix/pull/12167)) -* Update `voxed` ([#9328](https://github.com/helix-editor/helix/pull/9328)) -* Add `vintage` ([#9361](https://github.com/helix-editor/helix/pull/9361)) -* Add directory style to everforest themes ([#12287](https://github.com/helix-editor/helix/pull/12287)) -* Add inactive text and update jump label highlights in `dark_plus` ([#12289](https://github.com/helix-editor/helix/pull/12289)) -* Sync changes with catppuccin themes ([#12304](https://github.com/helix-editor/helix/pull/12304)) -* Add `ui.text.directory` to `nightfox` ([#12328](https://github.com/helix-editor/helix/pull/12328)) -* Add `ui.text.directory` to `sunset` ([#12328](https://github.com/helix-editor/helix/pull/12328)) -* Add `diagnostic.unnecessary` to Catppuccin themes ([#12391](https://github.com/helix-editor/helix/pull/12391)) - -New languages: - -* `jjdescription` ([#11271](https://github.com/helix-editor/helix/pull/11271), [#11857](https://github.com/helix-editor/helix/pull/11857), [#12305](https://github.com/helix-editor/helix/pull/12305)) -* i3wm and Sway configs ([#11424](https://github.com/helix-editor/helix/pull/11424)) -* TypeSpec ([#11412](https://github.com/helix-editor/helix/pull/11412)) -* jq ([#11393](https://github.com/helix-editor/helix/pull/11393)) -* Thrift ([#11367](https://github.com/helix-editor/helix/pull/11367)) -* Gherkin ([#11083](https://github.com/helix-editor/helix/pull/11083)) -* Circom ([#11676](https://github.com/helix-editor/helix/pull/11676)) -* Dune ([#11829](https://github.com/helix-editor/helix/pull/11829)) -* Snakemake ([#11858](https://github.com/helix-editor/helix/pull/11858), [#11936](https://github.com/helix-editor/helix/pull/11936)) -* Cylc ([#11830](https://github.com/helix-editor/helix/pull/11830)) -* textproto ([#11874](https://github.com/helix-editor/helix/pull/11874)) -* Spade ([#11448](https://github.com/helix-editor/helix/pull/11448), [#12276](https://github.com/helix-editor/helix/pull/12276)) -* NestedText ([#11987](https://github.com/helix-editor/helix/pull/11987)) -* Quint ([#11898](https://github.com/helix-editor/helix/pull/11898)) -* Amber-lang ([#12021](https://github.com/helix-editor/helix/pull/12021)) -* Vento ([#12147](https://github.com/helix-editor/helix/pull/12147)) -* Teal ([#12081](https://github.com/helix-editor/helix/pull/12081)) -* Koto ([#12307](https://github.com/helix-editor/helix/pull/12307)) -* NGINX ([#12309](https://github.com/helix-editor/helix/pull/12309)) - -Updated languages and queries: - -* Add comment injections for Hare ([#11173](https://github.com/helix-editor/helix/pull/11173)) -* Improve highlights for `blade.php` files ([#11138](https://github.com/helix-editor/helix/pull/11138)) -* Update tree-sitter-slint ([#11224](https://github.com/helix-editor/helix/pull/11224), [#11757](https://github.com/helix-editor/helix/pull/11757), [#12297](https://github.com/helix-editor/helix/pull/12297)) -* Recognize `just` files as Just ([#11286](https://github.com/helix-editor/helix/pull/11286)) -* Recognize `mdx` as Markdown ([#11122](https://github.com/helix-editor/helix/pull/11122)) -* Update Just grammar and queries ([#11306](https://github.com/helix-editor/helix/pull/11306)) -* Recognize `tclsh` as TCL ([#11236](https://github.com/helix-editor/helix/pull/11236)) -* Update Godot grammar and queries ([#11235](https://github.com/helix-editor/helix/pull/11235)) -* Update Gleam grammar and queries ([#11427](https://github.com/helix-editor/helix/pull/11427)) -* Add `mesonlsp` for Meson ([#11416](https://github.com/helix-editor/helix/pull/11416)) -* Update HTML highlights ([#11400](https://github.com/helix-editor/helix/pull/11400)) -* Add comment textobjects for Verilog ([#11388](https://github.com/helix-editor/helix/pull/11388)) -* Switch tree-sitter-just grammar ([#11380](https://github.com/helix-editor/helix/pull/11380), [#11606](https://github.com/helix-editor/helix/pull/11606), [#12141](https://github.com/helix-editor/helix/pull/12141)) -* Update tree-sitter-fsharp ([#11061](https://github.com/helix-editor/helix/pull/11061)) -* Add `nixd` for Nix ([#10767](https://github.com/helix-editor/helix/pull/10767)) -* Highlight types and enum members from the Rust prelude ([#8535](https://github.com/helix-editor/helix/pull/8535)) -* Improve textobjects for HCL, Nix ([#11513](https://github.com/helix-editor/helix/pull/11513)) -* Add textobjects queries for docker-compose, dockerfile, env, git-config, hcl, hocon, prisma, SQL and YAML ([#11513](https://github.com/helix-editor/helix/pull/11513)) -* Recognize cshtml files as HTML ([#11540](https://github.com/helix-editor/helix/pull/11540)) -* Set a memory limit for the Lean language server ([#11683](https://github.com/helix-editor/helix/pull/11683)) -* Add configurations for jedi and ruff language servers ([#11630](https://github.com/helix-editor/helix/pull/11630)) -* Update Vue highlights ([#11706](https://github.com/helix-editor/helix/pull/11706)) -* Switch tree-sitter-hcl grammar ([#11749](https://github.com/helix-editor/helix/pull/11749)) -* Fix `odinfmt` formatter configuration ([#11759](https://github.com/helix-editor/helix/pull/11759)) -* Recognize `rbs` files as Ruby ([#11786](https://github.com/helix-editor/helix/pull/11786)) -* Update tree-sitter-nickel ([#11771](https://github.com/helix-editor/helix/pull/11771)) -* Recognize `ldtk` and `ldtkl` files as JSON ([#11793](https://github.com/helix-editor/helix/pull/11793)) -* Fix highlights for builtin functions in Fish ([#11792](https://github.com/helix-editor/helix/pull/11792)) -* Add `superhtml` for HTML ([#11609](https://github.com/helix-editor/helix/pull/11609)) -* Add a configuration for the Vale language server ([#11636](https://github.com/helix-editor/helix/pull/11636)) -* Add Erlang Language Platform (`elp`) for Erlang ([#11499](https://github.com/helix-editor/helix/pull/11499)) -* Update Odin highlights ([#11804](https://github.com/helix-editor/helix/pull/11804)) -* Remove auto-pairs for single quotes in SML ([#11838](https://github.com/helix-editor/helix/pull/11838)) -* Add `glsl_analyzer` for GLSL ([#11891](https://github.com/helix-editor/helix/pull/11891)) -* Recognize `.prettierrc` as YAML ([#11997](https://github.com/helix-editor/helix/pull/11997)) -* Fix `swift-format` formatter configuration ([#12052](https://github.com/helix-editor/helix/pull/12052)) -* Add `package.json` and `tsconfig.json` as JS/TS workspace roots ([#10652](https://github.com/helix-editor/helix/pull/10652)) -* Add "INVARIANT" to comment error highlights ([#12094](https://github.com/helix-editor/helix/pull/12094)) -* Update Rescript grammar and queries ([#11165](https://github.com/helix-editor/helix/pull/11165)) -* Update tree-sitter-nasm ([#11795](https://github.com/helix-editor/helix/pull/11795)) -* Update LLVM grammars ([#11851](https://github.com/helix-editor/helix/pull/11851)) -* Update Perl and Pod grammars ([#11848](https://github.com/helix-editor/helix/pull/11848)) -* Add Nim injections in Nix ([#11837](https://github.com/helix-editor/helix/pull/11837)) -* Recognize `livemd` as Markdown ([#12034](https://github.com/helix-editor/helix/pull/12034)) -* Update Unison grammar and queries ([#12039](https://github.com/helix-editor/helix/pull/12039)) -* Turn off Swift auto-format by default ([#12071](https://github.com/helix-editor/helix/pull/12071)) -* Recognize `.swift-format` as JSON ([#12071](https://github.com/helix-editor/helix/pull/12071)) -* Recognize `.clangd` and `.clang-format` as YAML ([#12032](https://github.com/helix-editor/helix/pull/12032)) -* Recognize `ssh_config.d/*.conf` as sshclientconfig ([#11947](https://github.com/helix-editor/helix/pull/11947)) -* Update comment token configs for Zig ([#12049](https://github.com/helix-editor/helix/pull/12049)) -* Update tree-sitter-bicep ([#11525](https://github.com/helix-editor/helix/pull/11525)) -* Add `hyperls` for Hyperlang ([#11056](https://github.com/helix-editor/helix/pull/11056)) -* Add highlight queries for Solidity ([#12102](https://github.com/helix-editor/helix/pull/12102)) -* Recognize `WORKSPACE.bzlmod` as Starlark ([#12103](https://github.com/helix-editor/helix/pull/12103)) -* Update Ada grammar and queries ([#12131](https://github.com/helix-editor/helix/pull/12131)) -* Restrict Hocon file-types glob patterns ([#12156](https://github.com/helix-editor/helix/pull/12156)) -* Update Mojo language server to Magic ([#12195](https://github.com/helix-editor/helix/pull/12195)) -* Switch tree-sitter-v grammar ([#12236](https://github.com/helix-editor/helix/pull/12236)) -* Add "COMPLIANCE" to comment error highlights ([#12094](https://github.com/helix-editor/helix/pull/12094)) -* Add a language server configuration for `ltex-ls-plus` ([#12251](https://github.com/helix-editor/helix/pull/12251)) -* Update tree-sitter-dockerfile ([#12230](https://github.com/helix-editor/helix/pull/12230)) -* Add `]` to PHP outdents ([#12286](https://github.com/helix-editor/helix/pull/12286)) -* Add textobjects for Odin ([#12302](https://github.com/helix-editor/helix/pull/12302)) -* Update tree-sitter-heex and queries ([#12334](https://github.com/helix-editor/helix/pull/12334)) -* Update protobuf highlights ([#12339](https://github.com/helix-editor/helix/pull/12339)) -* Switch tree-sitter-query (TSQ) grammar ([#12148](https://github.com/helix-editor/helix/pull/12148), [e0bccd2](https://github.com/helix-editor/helix/commit/e0bccd2)) -* Add block comment configurations for jinja and nunjucks ([#12348](https://github.com/helix-editor/helix/pull/12348)) -* Add `uv` shebang for python ([#12360](https://github.com/helix-editor/helix/pull/12360)) -* Update tree-sitter-vento ([#12368](https://github.com/helix-editor/helix/pull/12368)) -* Switch Protobuf tree-sitter grammar ([#12225](https://github.com/helix-editor/helix/pull/12225)) -* Recognize `hypr/*.conf` as Hyprland ([#12384](https://github.com/helix-editor/helix/pull/12384)) - -Packaging: - -* Add completions for Nushell ([#11262](https://github.com/helix-editor/helix/pull/11262), [#11346](https://github.com/helix-editor/helix/pull/11346)) -* Fix completion of flags in Bash completions ([#11246](https://github.com/helix-editor/helix/pull/11246)) -* Include shell completions in Nix outputs ([#11518](https://github.com/helix-editor/helix/pull/11518)) - -# 24.07 (2024-07-14) - -Thanks to all of the contributors! This release has changes from 160 contributors. - -Breaking changes: - -Features: - -- Add a textobject for entries/elements of list-like things ([#8150](https://github.com/helix-editor/helix/pull/8150)) -- Add a picker showing files changed in VCS ([#5645](https://github.com/helix-editor/helix/pull/5645)) -- Use a temporary file for writes ([#9236](https://github.com/helix-editor/helix/pull/9236), [#10339](https://github.com/helix-editor/helix/pull/10339), [#10790](https://github.com/helix-editor/helix/pull/10790)) -- Allow cycling through LSP signature-help signatures with `A-n`/`A-p` ([#9974](https://github.com/helix-editor/helix/pull/9974), [#10654](https://github.com/helix-editor/helix/pull/10654), [#10655](https://github.com/helix-editor/helix/pull/10655)) -- Use tree-sitter when finding matching brackets and closest pairs ([#8294](https://github.com/helix-editor/helix/pull/8294), [#10613](https://github.com/helix-editor/helix/pull/10613), [#10777](https://github.com/helix-editor/helix/pull/10777)) -- Auto-save all buffers after a delay ([#10899](https://github.com/helix-editor/helix/pull/10899), [#11047](https://github.com/helix-editor/helix/pull/11047)) - -Commands: - -- `select_all_siblings` (`A-a`) - select all siblings of each selection ([87c4161](https://github.com/helix-editor/helix/commit/87c4161)) -- `select_all_children` (`A-I`) - select all children of each selection ([fa67c5c](https://github.com/helix-editor/helix/commit/fa67c5c)) -- `:read` - insert the contents of the given file at each selection ([#10447](https://github.com/helix-editor/helix/pull/10447)) - -Usability improvements: - -- Support scrolling popup contents using the mouse ([#10053](https://github.com/helix-editor/helix/pull/10053)) -- Sort the jumplist picker so that most recent items come first ([#10095](https://github.com/helix-editor/helix/pull/10095)) -- Improve `goto_file`'s (`gf`) automatic path detection strategy ([#9065](https://github.com/helix-editor/helix/pull/9065)) -- Respect language server definition order in code action menu ([#9590](https://github.com/helix-editor/helix/pull/9590)) -- Allow using a count with `goto_next_buffer` (`gn`) and `goto_previous_buffer` (`gp`) ([#10463](https://github.com/helix-editor/helix/pull/10463)) -- Improve the positioning of popups ([#10257](https://github.com/helix-editor/helix/pull/10257), [#10573](https://github.com/helix-editor/helix/pull/10573)) -- Reset all changes overlapped by selections in `:reset-diff-change` ([#10728](https://github.com/helix-editor/helix/pull/10728)) -- Await pending writes in the `suspend` command (`C-z`) ([#10797](https://github.com/helix-editor/helix/pull/10797)) -- Remove special handling of line ending characters in `replace` (`r`) ([#10786](https://github.com/helix-editor/helix/pull/10786)) -- Use the selected register as a history register for `rename_symbol` (`<space>r`) ([#10932](https://github.com/helix-editor/helix/pull/10932)) -- Use the configured insert-mode cursor for prompt entry ([#10945](https://github.com/helix-editor/helix/pull/10945)) -- Add tilted quotes to the matching brackets list ([#10971](https://github.com/helix-editor/helix/pull/10971)) -- Prevent improper files like `/dev/urandom` from being used as file arguments ([#10733](https://github.com/helix-editor/helix/pull/10733)) -- Allow multiple language servers to provide `:lsp-workspace-command`s ([#10176](https://github.com/helix-editor/helix/pull/10176), [#11105](https://github.com/helix-editor/helix/pull/11105)) -- Trim output of commands executed through `:pipe` ([#10952](https://github.com/helix-editor/helix/pull/10952)) - -Fixes: - -- Use `lldb-dap` instead of `lldb-vscode` in default DAP configuration ([#10091](https://github.com/helix-editor/helix/pull/10091)) -- Fix creation of uneven splits when closing windows ([#10004](https://github.com/helix-editor/helix/pull/10004)) -- Avoid setting a register in `delete_selection_noyank`, fixing the command's use in command sequences ([#10050](https://github.com/helix-editor/helix/pull/10050), [#10148](https://github.com/helix-editor/helix/pull/10148)) -- Fix jump alphabet config resetting when using `:config-reload` ([#10156](https://github.com/helix-editor/helix/pull/10156)) -- Overlay LSP unnecessary/deprecated diagnostic tag highlights onto regular diagnostic highlights ([#10084](https://github.com/helix-editor/helix/pull/10084)) -- Fix crash on LSP text edits with invalid ranges ([#9649](https://github.com/helix-editor/helix/pull/9649)) -- Handle partial failure when sending multiple LSP `textDocument/didSave` notifications ([#10168](https://github.com/helix-editor/helix/pull/10168)) -- Fix off-by-one error for completion-replace option ([#10279](https://github.com/helix-editor/helix/pull/10279)) -- Fix mouse right-click selection behavior ([#10067](https://github.com/helix-editor/helix/pull/10067)) -- Fix scrolling to the end within a popup ([#10181](https://github.com/helix-editor/helix/pull/10181)) -- Fix jump label highlight locations when jumping in non-ascii text ([#10317](https://github.com/helix-editor/helix/pull/10317)) -- Fix crashes from tree-sitter query captures that return non-grapheme aligned ranges ([#10310](https://github.com/helix-editor/helix/pull/10310)) -- Include VCS change in `mi`/`ma` textobject infobox ([#10496](https://github.com/helix-editor/helix/pull/10496)) -- Override crossterm's support for `NO_COLOR` ([#10514](https://github.com/helix-editor/helix/pull/10514)) -- Respect mode when starting a search ([#10505](https://github.com/helix-editor/helix/pull/10505)) -- Simplify first-in-line computation for indent queries ([#10527](https://github.com/helix-editor/helix/pull/10527)) -- Ignore .svn version controlled files in file pickers ([#10536](https://github.com/helix-editor/helix/pull/10536)) -- Fix overloading language servers with `completionItem/resolve` requests ([38ee845](https://github.com/helix-editor/helix/commit/38ee845), [#10873](https://github.com/helix-editor/helix/pull/10873)) -- Specify direction for `select_next_sibling` / `select_prev_sibling` ([#10542](https://github.com/helix-editor/helix/pull/10542)) -- Fix restarting language servers ([#10614](https://github.com/helix-editor/helix/pull/10614)) -- Don't stop at the first URL in `goto_file` ([#10622](https://github.com/helix-editor/helix/pull/10622)) -- Fix overflows in window size calculations for small terminals ([#10620](https://github.com/helix-editor/helix/pull/10620)) -- Allow missing or empty completion lists in DAP ([#10332](https://github.com/helix-editor/helix/pull/10332)) -- Revert statusline refactor that could cause the statusline to blank out on files with long paths ([#10642](https://github.com/helix-editor/helix/pull/10642)) -- Synchronize files after writing ([#10735](https://github.com/helix-editor/helix/pull/10735)) -- Avoid `cnorm` for cursor-type detection in certain terminals ([#10769](https://github.com/helix-editor/helix/pull/10769)) -- Reset inlay hints when stopping or restarting a language server ([#10741](https://github.com/helix-editor/helix/pull/10741)) -- Fix logic for updating `--version` when development VCS HEAD changes ([#10896](https://github.com/helix-editor/helix/pull/10896)) -- Set a max value for the count ([#10930](https://github.com/helix-editor/helix/pull/10930)) -- Deserialize number IDs in DAP module types ([#10943](https://github.com/helix-editor/helix/pull/10943)) -- Fix the behavior of `jump_backwords` when the jumplist is at capacity ([#10968](https://github.com/helix-editor/helix/pull/10968)) -- Fix injection layer heritage tracking for reused tree-sitter injection layers ([#1098](https://github.com/helix-editor/helix/pull/1098)) -- Fix pluralization of "buffers" in the statusline for `:q`, `:q!`, `:wq` ([#11018](https://github.com/helix-editor/helix/pull/11018)) -- Declare LSP formatting client capabilities ([#11064](https://github.com/helix-editor/helix/pull/11064)) -- Commit uncommitted changes before attempting undo/earlier ([#11090](https://github.com/helix-editor/helix/pull/11090)) -- Expand tilde for selected paths in `goto_file` ([#10964](https://github.com/helix-editor/helix/pull/10964)) -- Commit undo checkpoints before `:write[-all]`, fixing the modification indicator ([#11062](https://github.com/helix-editor/helix/pull/11062)) - -Themes: - -- Add jump label styles to `nightfox` ([#10052](https://github.com/helix-editor/helix/pull/10052)) -- Add jump label styles to Solarized themes ([#10056](https://github.com/helix-editor/helix/pull/10056)) -- Add jump label styles to `cyan_light` ([#10058](https://github.com/helix-editor/helix/pull/10058)) -- Add jump label styles to `onelight` ([#10061](https://github.com/helix-editor/helix/pull/10061)) -- Add `flexoki-dark` and `flexoki-light` ([#10002](https://github.com/helix-editor/helix/pull/10002)) -- Add default theme keys for LSP diagnostics tags to existing themes ([#10064](https://github.com/helix-editor/helix/pull/10064)) -- Add jump label styles to base16 themes ([#10076](https://github.com/helix-editor/helix/pull/10076)) -- Dim primary selection in `kanagawa` ([#10094](https://github.com/helix-editor/helix/pull/10094), [#10500](https://github.com/helix-editor/helix/pull/10500)) -- Add jump label styles to tokyonight themes ([#10106](https://github.com/helix-editor/helix/pull/10106)) -- Add jump label styles to papercolor themes ([#10104](https://github.com/helix-editor/helix/pull/10104)) -- Add jump label styles to Darcula themes ([#10116](https://github.com/helix-editor/helix/pull/10116)) -- Add jump label styles to `autumn` ([#10134](https://github.com/helix-editor/helix/pull/10134)) -- Add jump label styles to Ayu themes ([#10133](https://github.com/helix-editor/helix/pull/10133)) -- Add jump label styles to `dark_high_contrast` ([#10133](https://github.com/helix-editor/helix/pull/10133)) -- Update material themes ([#10290](https://github.com/helix-editor/helix/pull/10290)) -- Add jump label styles to `varua` ([#10299](https://github.com/helix-editor/helix/pull/10299)) -- Add ruler style to `adwaita-dark` ([#10260](https://github.com/helix-editor/helix/pull/10260)) -- Remove `ui.highlight` effects from `solarized_dark` ([#10261](https://github.com/helix-editor/helix/pull/10261)) -- Fix statusline color in material themes ([#10308](https://github.com/helix-editor/helix/pull/10308)) -- Brighten `nord` selection highlight ([#10307](https://github.com/helix-editor/helix/pull/10307)) -- Add inlay-hint styles to monokai themes ([#10334](https://github.com/helix-editor/helix/pull/10334)) -- Add bufferline and cursorline colors to `vim_dark_high_contrast` ([#10444](https://github.com/helix-editor/helix/pull/10444)) -- Switch themes with foreground rulers to background ([#10309](https://github.com/helix-editor/helix/pull/10309)) -- Fix statusline colors for `everblush` ([#10394](https://github.com/helix-editor/helix/pull/10394)) -- Use `yellow1` for `gruvbox` warning diagnostics ([#10506](https://github.com/helix-editor/helix/pull/10506)) -- Add jump label styles to Modus themes ([#10538](https://github.com/helix-editor/helix/pull/10538)) -- Refactor `dark_plus` and switch maintainers ([#10543](https://github.com/helix-editor/helix/pull/10543), [#10574](https://github.com/helix-editor/helix/pull/10574)) -- Add debug highlights to `dark_plus` ([#10593](https://github.com/helix-editor/helix/pull/10593)) -- Fix per-mode cursor colors in the default theme ([#10608](https://github.com/helix-editor/helix/pull/10608)) -- Add `tag` and `attribute` highlights to `dark_high_contrast` ([#10705](https://github.com/helix-editor/helix/pull/10705)) -- Improve readability of virtual text with `noctis` theme ([#10910](https://github.com/helix-editor/helix/pull/10910)) -- Sync `catppuccin` themes with upstream ([#10954](https://github.com/helix-editor/helix/pull/10954)) -- Improve jump colors for `github_dark` themes ([#10946](https://github.com/helix-editor/helix/pull/10946)) -- Add modeline and default virtual highlights to `base16_default` ([#10858](https://github.com/helix-editor/helix/pull/10858)) -- Add `iroaseta` ([#10381](https://github.com/helix-editor/helix/pull/10381)) -- Refactor `gruvbox` ([#10773](https://github.com/helix-editor/helix/pull/10773), [#11071](https://github.com/helix-editor/helix/pull/11071)) -- Add cursorcolumn and cursorline to `base16_transparent` ([#11099](https://github.com/helix-editor/helix/pull/11099)) -- Update cursorline color for `fleet_dark` ([#11046](https://github.com/helix-editor/helix/pull/11046)) -- Add `kanagawa-dragon` ([#10172](https://github.com/helix-editor/helix/pull/10172)) - -New languages: - -- BitBake ([#10010](https://github.com/helix-editor/helix/pull/10010)) -- Earthfile ([#10111](https://github.com/helix-editor/helix/pull/10111), [#10489](https://github.com/helix-editor/helix/pull/10489), [#10779](https://github.com/helix-editor/helix/pull/10779)) -- TCL ([#9837](https://github.com/helix-editor/helix/pull/9837)) -- ADL ([#10029](https://github.com/helix-editor/helix/pull/10029)) -- LDIF ([#10330](https://github.com/helix-editor/helix/pull/10330)) -- XTC ([#10448](https://github.com/helix-editor/helix/pull/10448)) -- Move ([f06a166](https://github.com/helix-editor/helix/commit/f06a166)) -- Pest ([#10616](https://github.com/helix-editor/helix/pull/10616)) -- GJS/GTS ([#9940](https://github.com/helix-editor/helix/pull/9940)) -- Inko ([#10656](https://github.com/helix-editor/helix/pull/10656)) -- Mojo ([#10743](https://github.com/helix-editor/helix/pull/10743)) -- Elisp ([#10644](https://github.com/helix-editor/helix/pull/10644)) - -Updated languages and queries: - -- Recognize `mkdn` files as markdown ([#10065](https://github.com/helix-editor/helix/pull/10065)) -- Add comment injections for Gleam ([#10062](https://github.com/helix-editor/helix/pull/10062)) -- Recognize BuildKite commands in YAML injections ([#10090](https://github.com/helix-editor/helix/pull/10090)) -- Add F# block comment token configuration ([#10108](https://github.com/helix-editor/helix/pull/10108)) -- Update tree-sitter-templ and queries ([#10114](https://github.com/helix-editor/helix/pull/10114)) -- Recognize `Tiltfile` as Starlark ([#10072](https://github.com/helix-editor/helix/pull/10072)) -- Remove `todo.txt` from files recognized as todotxt ([5fece00](https://github.com/helix-editor/helix/commit/5fece00)) -- Highlight `type` keyword in Python from PEP695 ([#10165](https://github.com/helix-editor/helix/pull/10165)) -- Update tree-sitter-koka, add language server config ([#10119](https://github.com/helix-editor/helix/pull/10119)) -- Recognize node and Python history files ([#10120](https://github.com/helix-editor/helix/pull/10120)) -- Recognize more shell files as bash ([#10120](https://github.com/helix-editor/helix/pull/10120)) -- Recognize the bun shebang as typescript ([#10120](https://github.com/helix-editor/helix/pull/10120)) -- Add a configuration for the angular language server ([#10166](https://github.com/helix-editor/helix/pull/10166)) -- Add textobject queries for Solidity ([#10318](https://github.com/helix-editor/helix/pull/10318)) -- Recognize `meson.options` as Meson ([#10323](https://github.com/helix-editor/helix/pull/10323)) -- Improve Solidity highlighting ([4fc0a4d](https://github.com/helix-editor/helix/commit/4fc0a4d)) -- Recognize `_.tpl` files as Helm ([#10344](https://github.com/helix-editor/helix/pull/10344)) -- Update tree-sitter-ld and highlights ([#10379](https://github.com/helix-editor/helix/pull/10379)) -- Add `lldb-dap` configuration for Odin ([#10175](https://github.com/helix-editor/helix/pull/10175)) -- Update tree-sitter-rust ([#10365](https://github.com/helix-editor/helix/pull/10365)) -- Update tree-sitter-typst ([#10321](https://github.com/helix-editor/helix/pull/10321)) -- Recognize `hyprpaper.conf`, `hypridle.conf` and `hyprlock.conf` as Hyprlang ([#10383](https://github.com/helix-editor/helix/pull/10383)) -- Improve HTML highlighting ([#10503](https://github.com/helix-editor/helix/pull/10503)) -- Add `rust-script` and `cargo` as shebangs for Rust ([#10484](https://github.com/helix-editor/helix/pull/10484)) -- Fix precedence of tag highlights in Svelte ([#10487](https://github.com/helix-editor/helix/pull/10487)) -- Update tree-sitter-bash ([#10526](https://github.com/helix-editor/helix/pull/10526)) -- Recognize `*.ignore` files as ignore ([#10579](https://github.com/helix-editor/helix/pull/10579)) -- Add configuration to enable inlay hints in metals ([#10597](https://github.com/helix-editor/helix/pull/10597)) -- Enable highlighting private members in ECMA languages ([#10554](https://github.com/helix-editor/helix/pull/10554)) -- Add comment injection to typst queries ([#10628](https://github.com/helix-editor/helix/pull/10628)) -- Add textobject queries for Hurl ([#10594](https://github.com/helix-editor/helix/pull/10594)) -- Add `try` keyword to Rust ([#10641](https://github.com/helix-editor/helix/pull/10641)) -- Add `is not` and `not in` to Python highlights ([#10647](https://github.com/helix-editor/helix/pull/10647)) -- Remove ' and ⟨⟩ from Lean autopair configuration ([#10688](https://github.com/helix-editor/helix/pull/10688)) -- Match TOML/YAML highlights for JSON keys ([#10676](https://github.com/helix-editor/helix/pull/10676)) -- Recognize WORKSPACE files as Starlark ([#10713](https://github.com/helix-editor/helix/pull/10713)) -- Switch Odin tree-sitter grammar and highlights ([#10698](https://github.com/helix-editor/helix/pull/10698)) -- Update `tree-sitter-slint` ([#10749](https://github.com/helix-editor/helix/pull/10749)) -- Add missing operators for Solidity highlights ([#10735](https://github.com/helix-editor/helix/pull/10735)) -- Update `tree-sitter-inko` ([#10805](https://github.com/helix-editor/helix/pull/10805)) -- Add `py`, `hs`, `rs` and `typ` injection regexes ([#10785](https://github.com/helix-editor/helix/pull/10785)) -- Update Swift grammar and queries ([#10802](https://github.com/helix-editor/helix/pull/10802)) -- Update Cairo grammar and queries ([#10919](https://github.com/helix-editor/helix/pull/10919), [#11067](https://github.com/helix-editor/helix/pull/11067)) -- Update Rust grammar ([#10973](https://github.com/helix-editor/helix/pull/10973)) -- Add block comment tokens for typst ([#10955](https://github.com/helix-editor/helix/pull/10955)) -- Recognize `jsonl` as JSON ([#11004](https://github.com/helix-editor/helix/pull/11004)) -- Add rulers and text-width at 100 columns for Lean language ([#10969](https://github.com/helix-editor/helix/pull/10969)) -- Improve VDHL highlights ([#10845](https://github.com/helix-editor/helix/pull/10845)) -- Recognize `hsc` as Haskell ([#11074](https://github.com/helix-editor/helix/pull/11074)) -- Fix heredoc and `$'<ansi_string>'` highlights in Bash ([#11118](https://github.com/helix-editor/helix/pull/11118)) -- Add LSP configuration for `basedpyright` ([#11121](https://github.com/helix-editor/helix/pull/11121)) -- Recognize `npmrc` and `.nmprc` files as INI ([#11131](https://github.com/helix-editor/helix/pull/11131)) -- Recognize `~/.config/git/ignore` as git-ignore ([#11131](https://github.com/helix-editor/helix/pull/11131)) -- Recognize `pdm.lock` and `uv.lock` as TOML ([#11131](https://github.com/helix-editor/helix/pull/11131)) -- Recognize `.yml` as well as `.yaml` for Helm chart templates ([#11135](https://github.com/helix-editor/helix/pull/11135)) -- Add regex injections for Bash ([#11112](https://github.com/helix-editor/helix/pull/11112)) -- Update tree-sitter-todo ([#11097](https://github.com/helix-editor/helix/pull/11097)) - -Packaging: - -- Make `Helix.appdata.xml` spec-compliant ([#10051](https://github.com/helix-editor/helix/pull/10051)) -- Expose all flake outputs through flake-compat ([#10673](https://github.com/helix-editor/helix/pull/10673)) -- Bump the MSRV to 1.74.0 ([#10714](https://github.com/helix-editor/helix/pull/10714)) -- Improve FiSH completions ([#10853](https://github.com/helix-editor/helix/pull/10853)) -- Improve ZSH completions ([#10853](https://github.com/helix-editor/helix/pull/10853)) - -# 24.03 (2024-03-30) - -As always, a big thank you to all of the contributors! This release saw changes from 125 contributors. - -Breaking changes: - -- `suffix` file-types in the `file-types` key in language configuration have been removed ([#8006](https://github.com/helix-editor/helix/pull/8006)) -- The `file-types` key in language configuration no longer matches full filenames without a glob pattern ([#8006](https://github.com/helix-editor/helix/pull/8006)) - -Features: - -- Open URLs with the `goto_file` command ([#5820](https://github.com/helix-editor/helix/pull/5820)) -- Support drawing a border around popups and menus ([#4313](https://github.com/helix-editor/helix/pull/4313), [#9508](https://github.com/helix-editor/helix/pull/9508)) -- Track long lived diagnostic sources like Clippy or `rustc` ([#6447](https://github.com/helix-editor/helix/pull/6447), [#9280](https://github.com/helix-editor/helix/pull/9280)) - - This improves the handling of diagnostics from sources that only update the diagnostic positions on save. -- Add support for LSP `window/showDocument` requests ([#8865](https://github.com/helix-editor/helix/pull/8865)) -- Refactor ad-hoc hooks to use a new generic event system ([#8021](https://github.com/helix-editor/helix/pull/8021), [#9668](https://github.com/helix-editor/helix/pull/9668), [#9660](https://github.com/helix-editor/helix/pull/9660)) - - This improves the behavior of autocompletions. For example navigating in insert mode no longer automatically triggers completions. -- Allow using globs in the language configuration `file-types` key ([#8006](https://github.com/helix-editor/helix/pull/8006)) -- Allow specifying required roots for situational LSP activation ([#8696](https://github.com/helix-editor/helix/pull/8696)) -- Extend selections using mouse clicks in select mode ([#5436](https://github.com/helix-editor/helix/pull/5436)) -- Toggle block comments ([#4718](https://github.com/helix-editor/helix/pull/4718), [#9894](https://github.com/helix-editor/helix/pull/9894)) -- Support LSP diagnostic tags ([#9780](https://github.com/helix-editor/helix/pull/9780)) -- Add a `file-absolute-path` statusline element ([#4535](https://github.com/helix-editor/helix/pull/4535)) -- Cross injection layers in tree-sitter motions (`A-p`/`A-o`/`A-i`/`A-n`) ([#5176](https://github.com/helix-editor/helix/pull/5176)) -- Add a Amp-editor-like jumping command ([#8875](https://github.com/helix-editor/helix/pull/8875)) - -Commands: - -- `:move` - move buffers with LSP support ([#8584](https://github.com/helix-editor/helix/pull/8584)) - - Also see [#8949](https://github.com/helix-editor/helix/pull/8949) which made path changes conform to the LSP spec and fixed the behavior of this command. -- `page_cursor_up`, `page_cursor_down`, `page_cursor_half_up`, `page_cursor_half_down` - commands for scrolling the cursor and page together ([#8015](https://github.com/helix-editor/helix/pull/8015)) -- `:yank-diagnostic` - yank the diagnostic(s) under the primary cursor ([#9640](https://github.com/helix-editor/helix/pull/9640)) -- `select_line_above` / `select_line_below` - extend or shrink a selection based on the direction and anchor ([#9080](https://github.com/helix-editor/helix/pull/9080)) - -Usability improvements: - -- Make `roots` key of `[[language]]` entries in `languages.toml` configuration optional ([#8803](https://github.com/helix-editor/helix/pull/8803)) -- Exit select mode in commands that modify the buffer ([#8689](https://github.com/helix-editor/helix/pull/8689)) -- Use crossterm cursor when out of focus ([#6858](https://github.com/helix-editor/helix/pull/6858), [#8934](https://github.com/helix-editor/helix/pull/8934)) -- Join empty lines with only one space in `join_selections` ([#8989](https://github.com/helix-editor/helix/pull/8989)) -- Introduce a hybrid tree-sitter and contextual indentation heuristic ([#8307](https://github.com/helix-editor/helix/pull/8307)) -- Allow configuring the indentation heuristic ([#8307](https://github.com/helix-editor/helix/pull/8307)) -- Check for LSP rename support before showing rename prompt ([#9277](https://github.com/helix-editor/helix/pull/9277)) -- Normalize `S-<lower-ascii>` keymaps to uppercase ascii ([#9213](https://github.com/helix-editor/helix/pull/9213)) -- Add formatter status to `--health` output ([#7986](https://github.com/helix-editor/helix/pull/7986)) -- Change path normalization strategy to not resolve symlinks ([#9330](https://github.com/helix-editor/helix/pull/9330)) -- Select subtree within injections in `:tree-sitter-subtree` ([#9309](https://github.com/helix-editor/helix/pull/9309)) -- Use tilde expansion and normalization for `$HELIX_RUNTIME` paths ([1bc7aac](https://github.com/helix-editor/helix/commit/1bc7aac)) -- Improve failure message for LSP goto references ([#9382](https://github.com/helix-editor/helix/pull/9382)) -- Use injection syntax trees for bracket matching ([5e0b3cc](https://github.com/helix-editor/helix/commit/5e0b3cc)) -- Respect injections in `:tree-sitter-highlight-name` ([8b6565c](https://github.com/helix-editor/helix/commit/8b6565c)) -- Respect injections in `move_parent_node_end` ([035b8ea](https://github.com/helix-editor/helix/commit/035b8ea)) -- Use `gix` pipeline filter instead of manual CRLF implementation ([#9503](https://github.com/helix-editor/helix/pull/9503)) -- Follow Neovim's truecolor detection ([#9577](https://github.com/helix-editor/helix/pull/9577)) -- Reload language configuration with `:reload`, SIGHUP ([#9415](https://github.com/helix-editor/helix/pull/9415)) -- Allow numbers as bindings ([#8471](https://github.com/helix-editor/helix/pull/8471), [#9887](https://github.com/helix-editor/helix/pull/9887)) -- Respect undercurl config when terminfo is not available ([#9897](https://github.com/helix-editor/helix/pull/9897)) -- Ignore `.pijul`, `.hg`, `.jj` in addition to `.git` in file pickers configured to show hidden files ([#9935](https://github.com/helix-editor/helix/pull/9935)) -- Add completion for registers to `:clear-register` and `:yank-diagnostic` ([#9936](https://github.com/helix-editor/helix/pull/9936)) -- Repeat last motion for goto next/prev diagnostic ([#9966](https://github.com/helix-editor/helix/pull/9966)) -- Allow configuring a character to use when rendering narrow no-breaking space ([#9604](https://github.com/helix-editor/helix/pull/9604)) -- Switch to a streaming regex engine (regex-cursor crate) to significantly speed up regex-based commands and features ([#9422](https://github.com/helix-editor/helix/pull/9422), [#9756](https://github.com/helix-editor/helix/pull/9756), [#9891](https://github.com/helix-editor/helix/pull/9891)) - -Fixes: - -- Swap `*` and `+` registers ([#8703](https://github.com/helix-editor/helix/pull/8703), [#8708](https://github.com/helix-editor/helix/pull/8708)) -- Use terminfo to reset terminal cursor style ([#8591](https://github.com/helix-editor/helix/pull/8591)) -- Fix precedence of `@align` captures in indentat computation ([#8659](https://github.com/helix-editor/helix/pull/8659)) -- Only render the preview if a Picker has a preview function ([#8667](https://github.com/helix-editor/helix/pull/8667)) -- Fix the precedence of `ui.virtual.whitespace` ([#8750](https://github.com/helix-editor/helix/pull/8750), [#8879](https://github.com/helix-editor/helix/pull/8879)) -- Fix crash in `:indent-style` ([#9087](https://github.com/helix-editor/helix/pull/9087)) -- Fix `didSave` text inclusion when sync capability is a kind variant ([#9101](https://github.com/helix-editor/helix/pull/9101)) -- Update the history of newly focused views ([#9271](https://github.com/helix-editor/helix/pull/9271)) -- Initialize diagnostics when opening a document ([#8873](https://github.com/helix-editor/helix/pull/8873)) -- Sync views when applying edits to unfocused views ([#9173](https://github.com/helix-editor/helix/pull/9173)) - - This fixes crashes that could occur from LSP workspace edits or `:write-all`. -- Treat non-numeric `+arg`s passed in the CLI args as filenames ([#9333](https://github.com/helix-editor/helix/pull/9333)) -- Fix crash when using `mm` on an empty plaintext file ([2fb7e50](https://github.com/helix-editor/helix/commit/2fb7e50)) -- Ignore empty tree-sitter nodes in match bracket ([445f7a2](https://github.com/helix-editor/helix/commit/445f7a2)) -- Exit a language server if it sends a message with invalid JSON ([#9332](https://github.com/helix-editor/helix/pull/9332)) -- Handle failures to enable bracketed paste ([#9353](https://github.com/helix-editor/helix/pull/9353)) -- Gate all captures in a pattern behind `#is-not? local` predicates ([#9390](https://github.com/helix-editor/helix/pull/9390)) -- Make path changes LSP spec conformant ([#8949](https://github.com/helix-editor/helix/pull/8949)) -- Use range positions to determine `insert_newline` motion ([#9448](https://github.com/helix-editor/helix/pull/9448)) -- Fix division by zero when prompt completion area is too small ([#9524](https://github.com/helix-editor/helix/pull/9524)) -- Add changes to history in clipboard replacement typable commands ([#9625](https://github.com/helix-editor/helix/pull/9625)) -- Fix a crash in DAP with an unspecified `line` in breakpoints ([#9632](https://github.com/helix-editor/helix/pull/9632)) -- Fix space handling for filenames in bash completion ([#9702](https://github.com/helix-editor/helix/pull/9702), [#9708](https://github.com/helix-editor/helix/pull/9708)) -- Key diagnostics off of paths instead of LSP URIs ([#7367](https://github.com/helix-editor/helix/pull/7367)) -- Fix panic when using `join_selections_space` ([#9783](https://github.com/helix-editor/helix/pull/9783)) -- Fix panic when using `surround_replace`, `surround_delete` ([#9796](https://github.com/helix-editor/helix/pull/9796)) -- Fix panic in `surround_replace`, `surround_delete` with nested surrounds and multiple cursors ([#9815](https://github.com/helix-editor/helix/pull/9815)) -- Fix panic in `select_textobject_around` ([#9832](https://github.com/helix-editor/helix/pull/9832)) -- Don't stop reloading documents when reloading fails in `:reload-all` ([#9870](https://github.com/helix-editor/helix/pull/9870)) -- Prevent `shell_keep_pipe` from stopping on nonzero exit status codes ([#9817](https://github.com/helix-editor/helix/pull/9817)) - -Themes: - -- Add `gruber-dark` ([#8598](https://github.com/helix-editor/helix/pull/8598)) -- Update `everblush` ([#8705](https://github.com/helix-editor/helix/pull/8705)) -- Update `papercolor` ([#8718](https://github.com/helix-editor/helix/pull/8718), [#8827](https://github.com/helix-editor/helix/pull/8827)) -- Add `polmandres` ([#8759](https://github.com/helix-editor/helix/pull/8759)) -- Add `starlight` ([#8787](https://github.com/helix-editor/helix/pull/8787)) -- Update `naysayer` ([#8838](https://github.com/helix-editor/helix/pull/8838)) -- Add modus operandi themes ([#8728](https://github.com/helix-editor/helix/pull/8728), [#9912](https://github.com/helix-editor/helix/pull/9912)) -- Update `rose_pine` ([#8946](https://github.com/helix-editor/helix/pull/8946)) -- Update `darcula` ([#8738](https://github.com/helix-editor/helix/pull/8738), [#9002](https://github.com/helix-editor/helix/pull/9002), [#9449](https://github.com/helix-editor/helix/pull/9449), [#9588](https://github.com/helix-editor/helix/pull/9588)) -- Add modus vivendi themes ([#8894](https://github.com/helix-editor/helix/pull/8894), [#9912](https://github.com/helix-editor/helix/pull/9912)) -- Add `horizon-dark` ([#9008](https://github.com/helix-editor/helix/pull/9008), [#9493](https://github.com/helix-editor/helix/pull/9493)) -- Update `noctis` ([#9123](https://github.com/helix-editor/helix/pull/9123)) -- Update `nord` ([#9135](https://github.com/helix-editor/helix/pull/9135)) -- Update monokai pro themes ([#9148](https://github.com/helix-editor/helix/pull/9148)) -- Update tokyonight themes ([#9099](https://github.com/helix-editor/helix/pull/9099), [#9724](https://github.com/helix-editor/helix/pull/9724), [#9789](https://github.com/helix-editor/helix/pull/9789)) -- Add `ttox` ([#8524](https://github.com/helix-editor/helix/pull/8524)) -- Add `voxed` ([#9164](https://github.com/helix-editor/helix/pull/9164)) -- Update `sonokai` ([#9370](https://github.com/helix-editor/helix/pull/9370), [#9376](https://github.com/helix-editor/helix/pull/9376), [#5379](https://github.com/helix-editor/helix/pull/5379)) -- Update `onedark`, `onedarker` ([#9397](https://github.com/helix-editor/helix/pull/9397)) -- Update `cyan_light` ([#9375](https://github.com/helix-editor/helix/pull/9375), [#9688](https://github.com/helix-editor/helix/pull/9688)) -- Add `gruvbox_light_soft`, `gruvbox_light_hard` ([#9266](https://github.com/helix-editor/helix/pull/9266)) -- Update GitHub themes ([#9487](https://github.com/helix-editor/helix/pull/9487)) -- Add `term16_dark`, `term16_light` ([#9477](https://github.com/helix-editor/helix/pull/9477)) -- Update Zed themes ([#9544](https://github.com/helix-editor/helix/pull/9544), [#9549](https://github.com/helix-editor/helix/pull/9549)) -- Add `curzon` ([#9553](https://github.com/helix-editor/helix/pull/9553)) -- Add `monokai_soda` ([#9651](https://github.com/helix-editor/helix/pull/9651)) -- Update catppuccin themes ([#9859](https://github.com/helix-editor/helix/pull/9859)) -- Update `rasmus` ([#9939](https://github.com/helix-editor/helix/pull/9939)) -- Update `dark_plus` ([#9949](https://github.com/helix-editor/helix/pull/9949), [628dcd5](https://github.com/helix-editor/helix/commit/628dcd5)) -- Update gruvbox themes ([#9960](https://github.com/helix-editor/helix/pull/9960)) -- Add jump label theming to `dracula` ([#9973](https://github.com/helix-editor/helix/pull/9973)) -- Add jump label theming to `horizon-dark` ([#9984](https://github.com/helix-editor/helix/pull/9984)) -- Add jump label theming to catppuccin themes ([2178adf](https://github.com/helix-editor/helix/commit/2178adf), [#9983](https://github.com/helix-editor/helix/pull/9983)) -- Add jump label theming to `onedark` themes ([da2dec1](https://github.com/helix-editor/helix/commit/da2dec1)) -- Add jump label theming to rose-pine themes ([#9981](https://github.com/helix-editor/helix/pull/9981)) -- Add jump label theming to Nord themes ([#10008](https://github.com/helix-editor/helix/pull/10008)) -- Add jump label theming to Monokai themes ([#10009](https://github.com/helix-editor/helix/pull/10009)) -- Add jump label theming to gruvbox themes ([#10012](https://github.com/helix-editor/helix/pull/10012)) -- Add jump label theming to `kanagawa` ([#10030](https://github.com/helix-editor/helix/pull/10030)) -- Update material themes ([#10043](https://github.com/helix-editor/helix/pull/10043)) -- Add `jetbrains_dark` ([#9967](https://github.com/helix-editor/helix/pull/9967)) - -New languages: - -- Typst ([#7474](https://github.com/helix-editor/helix/pull/7474)) -- LPF ([#8536](https://github.com/helix-editor/helix/pull/8536)) -- GN ([#6969](https://github.com/helix-editor/helix/pull/6969)) -- DBML ([#8860](https://github.com/helix-editor/helix/pull/8860)) -- log ([#8916](https://github.com/helix-editor/helix/pull/8916)) -- Janet ([#9081](https://github.com/helix-editor/helix/pull/9081), [#9247](https://github.com/helix-editor/helix/pull/9247)) -- Agda ([#8285](https://github.com/helix-editor/helix/pull/8285)) -- Avro ([#9113](https://github.com/helix-editor/helix/pull/9113)) -- Smali ([#9089](https://github.com/helix-editor/helix/pull/9089)) -- HOCON ([#9203](https://github.com/helix-editor/helix/pull/9203)) -- Tact ([#9512](https://github.com/helix-editor/helix/pull/9512)) -- PKL ([#9515](https://github.com/helix-editor/helix/pull/9515)) -- CEL ([#9296](https://github.com/helix-editor/helix/pull/9296)) -- SpiceDB ([#9296](https://github.com/helix-editor/helix/pull/9296)) -- Hoon ([#9190](https://github.com/helix-editor/helix/pull/9190)) -- DockerCompose ([#9661](https://github.com/helix-editor/helix/pull/9661), [#9916](https://github.com/helix-editor/helix/pull/9916)) -- Groovy ([#9350](https://github.com/helix-editor/helix/pull/9350), [#9681](https://github.com/helix-editor/helix/pull/9681), [#9677](https://github.com/helix-editor/helix/pull/9677)) -- FIDL ([#9713](https://github.com/helix-editor/helix/pull/9713)) -- Powershell ([#9827](https://github.com/helix-editor/helix/pull/9827)) -- ld ([#9835](https://github.com/helix-editor/helix/pull/9835)) -- Hyperland config ([#9899](https://github.com/helix-editor/helix/pull/9899)) -- JSONC ([#9906](https://github.com/helix-editor/helix/pull/9906)) -- PHP Blade ([#9513](https://github.com/helix-editor/helix/pull/9513)) -- SuperCollider ([#9329](https://github.com/helix-editor/helix/pull/9329)) -- Koka ([#8727](https://github.com/helix-editor/helix/pull/8727)) -- PKGBUILD ([#9909](https://github.com/helix-editor/helix/pull/9909), [#9943](https://github.com/helix-editor/helix/pull/9943)) -- Ada ([#9908](https://github.com/helix-editor/helix/pull/9908)) -- Helm charts ([#9900](https://github.com/helix-editor/helix/pull/9900)) -- Ember.js templates ([#9902](https://github.com/helix-editor/helix/pull/9902)) -- Ohm ([#9991](https://github.com/helix-editor/helix/pull/9991)) - -Updated languages and queries: - -- Add HTML injection queries for Rust ([#8603](https://github.com/helix-editor/helix/pull/8603)) -- Switch to tree-sitter-ron for RON ([#8624](https://github.com/helix-editor/helix/pull/8624)) -- Update and improve comment highlighting ([#8564](https://github.com/helix-editor/helix/pull/8564), [#9253](https://github.com/helix-editor/helix/pull/9253), [#9800](https://github.com/helix-editor/helix/pull/9800), [#10014](https://github.com/helix-editor/helix/pull/10014)) -- Highlight type parameters in Rust ([#8660](https://github.com/helix-editor/helix/pull/8660)) -- Change KDL tree-sitter parsers ([#8652](https://github.com/helix-editor/helix/pull/8652)) -- Update tree-sitter-markdown ([#8721](https://github.com/helix-editor/helix/pull/8721), [#10039](https://github.com/helix-editor/helix/pull/10039)) -- Update tree-sitter-purescript ([#8712](https://github.com/helix-editor/helix/pull/8712)) -- Add type parameter highlighting to TypeScript, Go, Haskell, OCaml and Kotlin ([#8718](https://github.com/helix-editor/helix/pull/8718)) -- Add indentation queries for Scheme and lisps using tree-sitter-scheme ([#8720](https://github.com/helix-editor/helix/pull/8720)) -- Recognize `meson_options.txt` as Meson ([#8794](https://github.com/helix-editor/helix/pull/8794)) -- Add language server configuration for Nushell ([#8878](https://github.com/helix-editor/helix/pull/8878)) -- Recognize `musicxml` as XML ([#8935](https://github.com/helix-editor/helix/pull/8935)) -- Update tree-sitter-rescript ([#8962](https://github.com/helix-editor/helix/pull/8962)) -- Update tree-sitter-python ([#8976](https://github.com/helix-editor/helix/pull/8976)) -- Recognize `.envrc.local` and `.envrc.private` as env ([#8988](https://github.com/helix-editor/helix/pull/8988)) -- Update tree-sitter-gleam ([#9003](https://github.com/helix-editor/helix/pull/9003), [9ceeea5](https://github.com/helix-editor/helix/commit/9ceeea5)) -- Update tree-sitter-d ([#9021](https://github.com/helix-editor/helix/pull/9021)) -- Fix R-markdown language name for LSP detection ([#9012](https://github.com/helix-editor/helix/pull/9012)) -- Add haskell-language-server LSP configuration ([#9111](https://github.com/helix-editor/helix/pull/9111)) -- Recognize `glif` as XML ([#9130](https://github.com/helix-editor/helix/pull/9130)) -- Recognize `.prettierrc` as JSON ([#9214](https://github.com/helix-editor/helix/pull/9214)) -- Add auto-pairs configuration for scheme ([#9232](https://github.com/helix-editor/helix/pull/9232)) -- Add textobject queries for Scala ([#9191](https://github.com/helix-editor/helix/pull/9191)) -- Add textobject queries for Protobuf ([#9184](https://github.com/helix-editor/helix/pull/9184)) -- Update tree-sitter-wren ([#8544](https://github.com/helix-editor/helix/pull/8544)) -- Add `spago.yaml` as an LSP root for PureScript ([#9362](https://github.com/helix-editor/helix/pull/9362)) -- Improve highlight and indent queries for Bash, Make and CSS ([#9393](https://github.com/helix-editor/helix/pull/9393)) -- Update tree-sitter-scala ([#9348](https://github.com/helix-editor/helix/pull/9348), [#9340](https://github.com/helix-editor/helix/pull/9340), [#9475](https://github.com/helix-editor/helix/pull/9475)) -- Recognize `.bash_history` as Bash ([#9401](https://github.com/helix-editor/helix/pull/9401)) -- Recognize Helix ignore files as ignore ([#9447](https://github.com/helix-editor/helix/pull/9447)) -- Inject SQL into Scala SQL strings ([#9428](https://github.com/helix-editor/helix/pull/9428)) -- Update gdscript textobjects ([#9288](https://github.com/helix-editor/helix/pull/9288)) -- Update Go queries ([#9510](https://github.com/helix-editor/helix/pull/9510), [#9525](https://github.com/helix-editor/helix/pull/9525)) -- Update tree-sitter-nushell ([#9502](https://github.com/helix-editor/helix/pull/9502)) -- Update tree-sitter-unison, add indent queries ([#9505](https://github.com/helix-editor/helix/pull/9505)) -- Update tree-sitter-slint ([#9551](https://github.com/helix-editor/helix/pull/9551), [#9698](https://github.com/helix-editor/helix/pull/9698)) -- Update tree-sitter-swift ([#9586](https://github.com/helix-editor/helix/pull/9586)) -- Add `fish_indent` as formatter for fish ([78ed3ad](https://github.com/helix-editor/helix/commit/78ed3ad)) -- Recognize `zon` as Zig ([#9582](https://github.com/helix-editor/helix/pull/9582)) -- Add a formatter for Odin ([#9537](https://github.com/helix-editor/helix/pull/9537)) -- Update tree-sitter-erlang ([#9627](https://github.com/helix-editor/helix/pull/9627), [fdcd461](https://github.com/helix-editor/helix/commit/fdcd461)) -- Capture Rust fields as argument textobjects ([#9637](https://github.com/helix-editor/helix/pull/9637)) -- Improve Dart textobjects ([#9644](https://github.com/helix-editor/helix/pull/9644)) -- Recognize `tmux.conf` as a bash file-type ([#9653](https://github.com/helix-editor/helix/pull/9653)) -- Add textobjects queries for Nix ([#9659](https://github.com/helix-editor/helix/pull/9659)) -- Add textobjects queries for HCL ([#9658](https://github.com/helix-editor/helix/pull/9658)) -- Recognize osm and osc extensions as XML ([#9697](https://github.com/helix-editor/helix/pull/9697)) -- Update tree-sitter-sql ([#9634](https://github.com/helix-editor/helix/pull/9634)) -- Recognize pde Processing files as Java ([#9741](https://github.com/helix-editor/helix/pull/9741)) -- Update tree-sitter-lua ([#9727](https://github.com/helix-editor/helix/pull/9727)) -- Switch tree-sitter-nim parsers ([#9722](https://github.com/helix-editor/helix/pull/9722)) -- Recognize GTK builder ui files as XML ([#9754](https://github.com/helix-editor/helix/pull/9754)) -- Add configuration for markdown-oxide language server ([#9758](https://github.com/helix-editor/helix/pull/9758)) -- Add a shebang for elvish ([#9779](https://github.com/helix-editor/helix/pull/9779)) -- Fix precedence of Svelte TypeScript injection ([#9777](https://github.com/helix-editor/helix/pull/9777)) -- Recognize common Dockerfile file types ([#9772](https://github.com/helix-editor/helix/pull/9772)) -- Recognize NUON files as Nu ([#9839](https://github.com/helix-editor/helix/pull/9839)) -- Add textobjects for Java native functions and constructors ([#9806](https://github.com/helix-editor/helix/pull/9806)) -- Fix "braket" typo in JSX highlights ([#9910](https://github.com/helix-editor/helix/pull/9910)) -- Update tree-sitter-hurl ([#9775](https://github.com/helix-editor/helix/pull/9775)) -- Add textobjects queries for Vala ([#8541](https://github.com/helix-editor/helix/pull/8541)) -- Update tree-sitter-git-config ([9610254](https://github.com/helix-editor/helix/commit/9610254)) -- Recognize 'mmd' as Mermaid ([459eb9a](https://github.com/helix-editor/helix/commit/459eb9a)) -- Highlight Rust extern crate aliases ([c099dde](https://github.com/helix-editor/helix/commit/c099dde)) -- Improve parameter highlighting in C++ ([f5d95de](https://github.com/helix-editor/helix/commit/f5d95de)) -- Recognize 'rclone.conf' as INI ([#9959](https://github.com/helix-editor/helix/pull/9959)) -- Add injections for GraphQL and ERB in Ruby heredocs ([#10036](https://github.com/helix-editor/helix/pull/10036)) -- Add `main.odin` to Odin LSP roots ([#9968](https://github.com/helix-editor/helix/pull/9968)) - -Packaging: - -- Allow user overlays in Nix grammars build ([#8749](https://github.com/helix-editor/helix/pull/8749)) -- Set Cargo feature resolver to v2 ([#8917](https://github.com/helix-editor/helix/pull/8917)) -- Use workspace inheritance for common Cargo metadata ([#8925](https://github.com/helix-editor/helix/pull/8925)) -- Remove sourcehut-based tree-sitter grammars from default build ([#9316](https://github.com/helix-editor/helix/pull/9316), [#9326](https://github.com/helix-editor/helix/pull/9326)) -- Add icon to Windows executable ([#9104](https://github.com/helix-editor/helix/pull/9104)) - -# 23.10 (2023-10-24) - -A big shout out to all the contributors! We had 118 contributors in this release. - -Breaking changes: - -- Support multiple language servers per language ([#2507](https://github.com/helix-editor/helix/pull/2507)) - - This is a breaking change to language configuration - -Features: - -- Support multiple language servers per language ([#2507](https://github.com/helix-editor/helix/pull/2507), [#7082](https://github.com/helix-editor/helix/pull/7082), [#7286](https://github.com/helix-editor/helix/pull/7286), [#8374](https://github.com/helix-editor/helix/pull/8374)) -- Add a statusline element for the selected register ([#7222](https://github.com/helix-editor/helix/pull/7222)) -- Add `%`, `#`, `.`, `*` and `+` special registers ([#6985](https://github.com/helix-editor/helix/pull/6985)) -- Add initial support for LSP DidChangeWatchedFiles notifications ([#7665](https://github.com/helix-editor/helix/pull/7665)) -- Search buffer contents in `global_search` ([#5652](https://github.com/helix-editor/helix/pull/5652)) -- Add a "smart tab" command that intelligently jumps the cursor on tab ([#4443](https://github.com/helix-editor/helix/pull/4443)) -- Add a statusline element for whether a file is read-only ([#7222](https://github.com/helix-editor/helix/pull/7222), [#7875](https://github.com/helix-editor/helix/pull/7875)) -- Syntax highlight regex prompts ([#7738](https://github.com/helix-editor/helix/pull/7738)) -- Allow defining alignment in indent queries ([#5355](https://github.com/helix-editor/helix/pull/5355)) -- Show visual feedback in `surround_replace` ([#7588](https://github.com/helix-editor/helix/pull/7588)) -- Switch to Nucleo for fuzzy matching ([#7814](https://github.com/helix-editor/helix/pull/7814), [#8148](https://github.com/helix-editor/helix/pull/8148), [#8192](https://github.com/helix-editor/helix/pull/8192), [#8194](https://github.com/helix-editor/helix/pull/8194)) -- Insert a trailing newline on write ([#8157](https://github.com/helix-editor/helix/pull/8157)) -- Add a `-w`/`--working-dir` CLI flag for specifying a working directory on startup ([#8223](https://github.com/helix-editor/helix/pull/8223), [#8498](https://github.com/helix-editor/helix/pull/8498), [#8520](https://github.com/helix-editor/helix/pull/8520)) -- Accept a `+N` CLI argument to set the first file's line number ([#8521](https://github.com/helix-editor/helix/pull/8521)) -- Accept Helix-specific ignore files in `.helix/ignore` and `~/.config/helix/ignore` ([#8099](https://github.com/helix-editor/helix/pull/8099)) - -Commands: - -- `merge_selections` (`A-minus`) - merge all selections into one selection that covers all ranges ([#7053](https://github.com/helix-editor/helix/pull/7053)) -- `move_prev_long_word_end` and `extend_prev_long_word_end` - move/extend to the end of the previous WORD ([#6905](https://github.com/helix-editor/helix/pull/6905)) -- `reverse_selection_contents` - swaps the values of each selection so they are reversed ([#7329](https://github.com/helix-editor/helix/pull/7329)) -- Add `:rl` and `:rla` aliases for `:reload` and `:reload-all` ([#7158](https://github.com/helix-editor/helix/pull/7158)) -- `yank_joined` - join the selections and yank to the selected register ([#7195](https://github.com/helix-editor/helix/pull/7195)) -- `:write-all!` (`:wa!`) - forcibly write all buffers to disk and create any necessary subdirectories ([#7577](https://github.com/helix-editor/helix/pull/7577)) -- `:redraw` - clear re-render the UI ([#6949](https://github.com/helix-editor/helix/pull/6949)) -- `:tree-sitter-highlight-name` - show the theme scope name of the highlight under the cursor ([#8170](https://github.com/helix-editor/helix/pull/8170)) - -Usability improvements: - -- Allow cycling option values at runtime ([#4411](https://github.com/helix-editor/helix/pull/4411), [#7240](https://github.com/helix-editor/helix/pull/7240), [#7877](https://github.com/helix-editor/helix/pull/7877)) -- Exit gracefully on termination signals ([#7236](https://github.com/helix-editor/helix/pull/7236)) -- Add plaintext matching fallback to tree-sitter pair matching ([#4288](https://github.com/helix-editor/helix/pull/4288)) -- Persist register selection in pending keymaps ([0e08349](https://github.com/helix-editor/helix/commit/0e08349)) -- Propagate the count and register to command palette commands ([b394997](https://github.com/helix-editor/helix/commit/b394997)) -- Auto indent on `insert_at_line_start` ([#5837](https://github.com/helix-editor/helix/pull/5837)) -- Add a config option to control whether LSP completions are automatically inserted on preview ([#7189](https://github.com/helix-editor/helix/pull/7189)) -- Add a config option for default line endings ([#5621](https://github.com/helix-editor/helix/pull/5621), [#7357](https://github.com/helix-editor/helix/pull/7357)) -- Allow ANSI colors in themes ([#5119](https://github.com/helix-editor/helix/pull/5119)) -- Match pairs that don't form a standalone tree-sitter node ([#7242](https://github.com/helix-editor/helix/pull/7242)) -- Allow indent sizes of up to 16 columns ([#7429](https://github.com/helix-editor/helix/pull/7429)) -- Improve performance of mapping positions through changes ([#7408](https://github.com/helix-editor/helix/pull/7408), [8d39a81](https://github.com/helix-editor/helix/commit/8d39a81), [#7471](https://github.com/helix-editor/helix/pull/7471)) -- Mark buffers created from stdin as modified ([#7431](https://github.com/helix-editor/helix/pull/7431)) -- Forcibly shut down uninitialized language servers ([#7449](https://github.com/helix-editor/helix/pull/7449)) -- Add filename completer for shell prompts ([#7569](https://github.com/helix-editor/helix/pull/7569)) -- Allow binding F13-F24 ([#7672](https://github.com/helix-editor/helix/pull/7672)) -- Resolve LSP code actions ([#7677](https://github.com/helix-editor/helix/pull/7677), [#8421](https://github.com/helix-editor/helix/pull/8421)) -- Save an undo checkpoint before accepting completions ([#7747](https://github.com/helix-editor/helix/pull/7747)) -- Include gitignored files in debugger completions ([#7936](https://github.com/helix-editor/helix/pull/7936)) -- Make editor remember the last search register ([#5244](https://github.com/helix-editor/helix/pull/5244)) -- Open directories with `goto_file` ([#7909](https://github.com/helix-editor/helix/pull/7909)) -- Use relative path to open buffer in `goto_file` (`gf`) ([#7965](https://github.com/helix-editor/helix/pull/7965)) -- Support `default` color in themes ([#8083](https://github.com/helix-editor/helix/pull/8083), [#8114](https://github.com/helix-editor/helix/pull/8114)) -- Toggle between relative and absolute line numbers when the terminal loses focus ([#7955](https://github.com/helix-editor/helix/pull/7955)) -- Lower default idle-timeout to 250ms ([060e73a](https://github.com/helix-editor/helix/commit/060e73a)) -- Allow theming diff gutters separately from other diff colors ([#8343](https://github.com/helix-editor/helix/pull/8343)) -- Style bold/italic/strikethrough in markdown doc popups ([#8385](https://github.com/helix-editor/helix/pull/8385)) -- Maintain the cursor position and view when splitting with `:hsplit`/`:vsplit` ([#8109](https://github.com/helix-editor/helix/pull/8109)) -- Accept `-` in macros outside of `<`/`>` ([#8475](https://github.com/helix-editor/helix/pull/8475)) -- Show all language servers for each language in `--health` ([#7315](https://github.com/helix-editor/helix/pull/7315)) -- Don't break on hyphens in `:reflow` ([#8569](https://github.com/helix-editor/helix/pull/8569)) - -Fixes: - -- Update diagnostics correctly on language server exit ([#7111](https://github.com/helix-editor/helix/pull/7111)) -- Fix off-by-one in `select_references_to_symbol_under_cursor` ([#7132](https://github.com/helix-editor/helix/pull/7132)) -- Extend selection with repeat-last-motion only if the original motion extended the selection ([#7159](https://github.com/helix-editor/helix/pull/7159)) -- Fix undefined behavior in the diff gutter ([#7227](https://github.com/helix-editor/helix/pull/7227)) -- Check that tab width is non-zero ([#7178](https://github.com/helix-editor/helix/pull/7178)) -- Fix styles being overwritten in table rows with multiple cells ([#7281](https://github.com/helix-editor/helix/pull/7281)) -- Add file for `--log` CLI arg in help text ([#7307](https://github.com/helix-editor/helix/pull/7307)) -- Fix underflow when repeating a completion that has a negative shift position ([#7322](https://github.com/helix-editor/helix/pull/7322)) -- Prefer longer matches in `select_next_sibling` and `select_prev_sibling` ([#7332](https://github.com/helix-editor/helix/pull/7332)) -- Preview scratch buffers in the jumplist picker ([#7331](https://github.com/helix-editor/helix/pull/7331)) -- Fix chunking by bytes in tree-sitter parsing ([#7417](https://github.com/helix-editor/helix/pull/7417)) -- Discard LSP publishDiagnostic from uninitialized servers ([#7467](https://github.com/helix-editor/helix/pull/7467)) -- Use negotiated position encoding for LSP workspace edits ([#7469](https://github.com/helix-editor/helix/pull/7469)) -- Fix error message for unknown gutter types in config ([#7534](https://github.com/helix-editor/helix/pull/7534)) -- Fix `:log-open` when `--log` CLI arg is specified ([#7573](https://github.com/helix-editor/helix/pull/7573), [#7585](https://github.com/helix-editor/helix/pull/7585)) -- Fix debouncing of LSP messages to fix the last message sticking around ([#7538](https://github.com/helix-editor/helix/pull/7538), [#8023](https://github.com/helix-editor/helix/pull/8023)) -- Fix crash when the current working directory is deleted ([#7185](https://github.com/helix-editor/helix/pull/7185)) -- Fix piping to Helix on macOS ([#5468](https://github.com/helix-editor/helix/pull/5468)) -- Fix crash when parsing overlapping injections ([#7621](https://github.com/helix-editor/helix/pull/7621)) -- Clear the statusline when the prompt is visible ([#7646](https://github.com/helix-editor/helix/pull/7646)) -- Fix range formatting error message typo ([#7823](https://github.com/helix-editor/helix/pull/7823)) -- Skip rendering gutters when gutter width exceeds view width ([#7821](https://github.com/helix-editor/helix/pull/7821)) -- Center the picker preview using visual lines ([#7837](https://github.com/helix-editor/helix/pull/7837)) -- Align view correctly for background buffers opened with `A-ret` ([#7691](https://github.com/helix-editor/helix/pull/7691)) -- Fix cursor resetting to block when quitting via a keybind ([#7931](https://github.com/helix-editor/helix/pull/7931)) -- Remove path completions for the `:new` command ([#8010](https://github.com/helix-editor/helix/pull/8010)) -- Use binary path resolved by `which` for formatter commands ([#8064](https://github.com/helix-editor/helix/pull/8064)) -- Handle crossterm's `hidden` modifier ([#8120](https://github.com/helix-editor/helix/pull/8120)) -- Clear completion when switching between windows with the mouse ([#8118](https://github.com/helix-editor/helix/pull/8118)) -- Eagerly remove the last picker (`<space>'`) when the picker has many items ([#8127](https://github.com/helix-editor/helix/pull/8127)) -- Fix find commands for buffers with non-LF line-endings ([#8111](https://github.com/helix-editor/helix/pull/8111)) -- Detect the tmux clipboard provider on macOS ([#8182](https://github.com/helix-editor/helix/pull/8182)) -- Fix syntax highlighting in dynamic picker preview pane ([#8206](https://github.com/helix-editor/helix/pull/8206)) -- Recognize HTML code tags with attributes as code in markdown previews ([#8397](https://github.com/helix-editor/helix/pull/8397)) -- Fix multicursor snippet placeholder directions ([#8423](https://github.com/helix-editor/helix/pull/8423)) -- Only show diagnostic highlights when diagnostics are enabled for a language server ([#8551](https://github.com/helix-editor/helix/pull/8551)) - -Themes: - -- Improve the selection color in `ferra` ([#7138](https://github.com/helix-editor/helix/pull/7138)) -- Add `variable.other.member` theming to `spacebones_light` ([#7125](https://github.com/helix-editor/helix/pull/7125)) -- Update `autumn` and theme the soft-wrap indicator ([#7229](https://github.com/helix-editor/helix/pull/7229)) -- Add `gruvbox_dark_soft` ([#7139](https://github.com/helix-editor/helix/pull/7139)) -- Add `merionette` ([#7186](https://github.com/helix-editor/helix/pull/7186)) -- Add `zed_onedark` and `zed_onelight` ([#7250](https://github.com/helix-editor/helix/pull/7250)) -- Use light-gray for `onedarker` inlay hint theming ([#7433](https://github.com/helix-editor/helix/pull/7433)) -- Update the Nord theme to follow the style guidelines ([#7490](https://github.com/helix-editor/helix/pull/7490)) -- Tune `dark_plus` inlay hint colors ([#7611](https://github.com/helix-editor/helix/pull/7611)) -- Add `naysayer` ([#7570](https://github.com/helix-editor/helix/pull/7570)) -- Add `kaolin-dark`, `kaolin-light` and `kaolin-valley-dark` ([#7151](https://github.com/helix-editor/helix/pull/7151)) -- Fix selection highlighting in gruvbox variants ([#7717](https://github.com/helix-editor/helix/pull/7717)) -- Add soft-wrap indicator to `gruvbox` ([#7736](https://github.com/helix-editor/helix/pull/7736)) -- Add missing palette definitions in `everforest_dark` ([#7739](https://github.com/helix-editor/helix/pull/7739)) -- Increase diagnostics clarity in `pop-dark` ([#7702](https://github.com/helix-editor/helix/pull/7702)) -- Add `vim_dark_high_contrast` ([#7785](https://github.com/helix-editor/helix/pull/7785)) -- Add `new_moon` ([#7834](https://github.com/helix-editor/helix/pull/7834)) -- Add `yellowed` ([#7849](https://github.com/helix-editor/helix/pull/7849)) -- Improve comment readability for `autumn` ([#7939](https://github.com/helix-editor/helix/pull/7939)) -- Distinguish active bufferline buffer in `monokai` ([#7983](https://github.com/helix-editor/helix/pull/7983)) -- Update ruler colors in `nord` ([#7995](https://github.com/helix-editor/helix/pull/7995)) -- Update Catppuccin themes ([#8102](https://github.com/helix-editor/helix/pull/8102)) -- Add text focus scope and diagnostics undercurls for `nord` ([#8165](https://github.com/helix-editor/helix/pull/8165)) -- Add material theme collection ([#8211](https://github.com/helix-editor/helix/pull/8211)) -- Improve indent line color in `dracula` ([#8266](https://github.com/helix-editor/helix/pull/8266)) -- Clean up and refactor `papercolor` to use inheritance ([#8276](https://github.com/helix-editor/helix/pull/8276)) -- Fix `zenburn` inlay hint color ([#8278](https://github.com/helix-editor/helix/pull/8278)a) -- Fix picker crash when previewing an invalid range ([e9d0bd7](https://github.com/helix-editor/helix/commit/e9d0bd7)) -- Correctly center items in the picker preview ([13d4463](https://github.com/helix-editor/helix/commit/13d4463)) -- Add `cyan_light` ([#8293](https://github.com/helix-editor/helix/pull/8293), [#8587](https://github.com/helix-editor/helix/pull/8587)) -- Theme HTML tags in `onedark` ([#8409](https://github.com/helix-editor/helix/pull/8409)) -- Refine `darcula` and `darcula-solid` themes ([#8412](https://github.com/helix-editor/helix/pull/8412)) -- Improve `nord` highlights ([#8414](https://github.com/helix-editor/helix/pull/8414)) -- Add `nord-night` ([#8549](https://github.com/helix-editor/helix/pull/8549)) - -New languages: - -- Blueprint ([#7213](https://github.com/helix-editor/helix/pull/7213), [#8161](https://github.com/helix-editor/helix/pull/8161)) -- Forth ([#7256](https://github.com/helix-editor/helix/pull/7256), [#7334](https://github.com/helix-editor/helix/pull/7334)) -- t32 ([#7140](https://github.com/helix-editor/helix/pull/7140), [#7811](https://github.com/helix-editor/helix/pull/7811)) -- WebC ([#7290](https://github.com/helix-editor/helix/pull/7290)) -- Persistent DSL for Haskell ([#7261](https://github.com/helix-editor/helix/pull/7261)) -- F# ([#7619](https://github.com/helix-editor/helix/pull/7619), [#8024](https://github.com/helix-editor/helix/pull/8024)) -- Wren ([#7765](https://github.com/helix-editor/helix/pull/7765), [#7819](https://github.com/helix-editor/helix/pull/7819)) -- Unison ([#7724](https://github.com/helix-editor/helix/pull/7724)) -- Todo.txt ([#7835](https://github.com/helix-editor/helix/pull/7835)) -- Jinja and Handlebars ([#7233](https://github.com/helix-editor/helix/pull/7233)) -- Pod ([#7907](https://github.com/helix-editor/helix/pull/7907)) -- Strace ([#7928](https://github.com/helix-editor/helix/pull/7928)) -- Gemini ([#8070](https://github.com/helix-editor/helix/pull/8070)) -- GNU Assembler (GAS) ([#8291](https://github.com/helix-editor/helix/pull/8291)) -- JSON5 ([#8473](https://github.com/helix-editor/helix/pull/8473)) -- TEMPL ([#8540](https://github.com/helix-editor/helix/pull/8540)) - -Updated languages and queries: - -- Add one to the ruler numbers for git-commit ([#7072](https://github.com/helix-editor/helix/pull/7072)) -- Recognize XAML files as XML ([#7083](https://github.com/helix-editor/helix/pull/7083)) -- Recognize `Cargo.lock` as TOML ([#7095](https://github.com/helix-editor/helix/pull/7095)) -- Use Rust grammar for Cairo ([c6d1430](https://github.com/helix-editor/helix/commit/c6d1430)) -- Update tree-sitter-nickel ([#7059](https://github.com/helix-editor/helix/pull/7059), [#7551](https://github.com/helix-editor/helix/pull/7551)) -- Tune auto-pair characters for Nickel ([#7059](https://github.com/helix-editor/helix/pull/7059)) -- Recognize `Vagrantfile` as Ruby ([#7112](https://github.com/helix-editor/helix/pull/7112)) -- Recognize hidden justfiles as Just ([#7088](https://github.com/helix-editor/helix/pull/7088)) -- Update Java and TypeScript highlight queries ([#7145](https://github.com/helix-editor/helix/pull/7145)) -- Recognize `.zimrc` as Bash ([#7146](https://github.com/helix-editor/helix/pull/7146)) -- Recognize `.gir` as XML ([#7152](https://github.com/helix-editor/helix/pull/7152)) -- Update tree-sitter-scala ([#7147](https://github.com/helix-editor/helix/pull/7147)) -- Recognize make file-type as Makefile ([#7212](https://github.com/helix-editor/helix/pull/7212)) -- Update tree-sitter-verilog ([#7262](https://github.com/helix-editor/helix/pull/7262)) -- Update tree-sitter-cpp ([#7285](https://github.com/helix-editor/helix/pull/7285)) -- Support core mode for delve debugger ([#7300](https://github.com/helix-editor/helix/pull/7300)) -- Add Fortran comment injections ([#7305](https://github.com/helix-editor/helix/pull/7305)) -- Switch Vue language server to `vue-language-server` ([#7312](https://github.com/helix-editor/helix/pull/7312)) -- Update tree-sitter-sql ([#7387](https://github.com/helix-editor/helix/pull/7387), [#8464](https://github.com/helix-editor/helix/pull/8464)) -- Replace the MATLAB tree-sitter grammar ([#7388](https://github.com/helix-editor/helix/pull/7388), [#7442](https://github.com/helix-editor/helix/pull/7442), [#7491](https://github.com/helix-editor/helix/pull/7491), [#7493](https://github.com/helix-editor/helix/pull/7493), [#7511](https://github.com/helix-editor/helix/pull/7511), [#7532](https://github.com/helix-editor/helix/pull/7532), [#8040](https://github.com/helix-editor/helix/pull/8040)) -- Highlight TOML table headers ([#7441](https://github.com/helix-editor/helix/pull/7441)) -- Recognize `cppm` file-type as C++ ([#7492](https://github.com/helix-editor/helix/pull/7492)) -- Refactor ecma language queries into private and public queries ([#7207](https://github.com/helix-editor/helix/pull/7207)) -- Update tree-sitter-dart ([#7576](https://github.com/helix-editor/helix/pull/7576)) -- Add shebang for nushell files ([#7606](https://github.com/helix-editor/helix/pull/7606)) -- Recognize systemd files as INI ([#7592](https://github.com/helix-editor/helix/pull/7592)) -- Update TypeScript, TSX and Svelte grammars ([#6874](https://github.com/helix-editor/helix/pull/6874)) -- Enable inlay hints in the Svelte language server ([#7622](https://github.com/helix-editor/helix/pull/7622)) -- Recognize `Brewfile`s as Ruby ([#7629](https://github.com/helix-editor/helix/pull/7629)) -- Add more file-types for R ([#7633](https://github.com/helix-editor/helix/pull/7633)) -- Switch tree-sitter-perl to official upstream parser ([#7644](https://github.com/helix-editor/helix/pull/7644), [#7947](https://github.com/helix-editor/helix/pull/7947)) -- Fix predicate typo in comment highlights ([#7732](https://github.com/helix-editor/helix/pull/7732)) -- Update tree-sitter-prql ([#7771](https://github.com/helix-editor/helix/pull/7771)) -- Recognize `.gitf` as JSON ([#7781](https://github.com/helix-editor/helix/pull/7781)) -- Switch V language server to `v-analyzer` ([#7760](https://github.com/helix-editor/helix/pull/7760)) -- Add protobuf language servers ([#7796](https://github.com/helix-editor/helix/pull/7796)) -- Update tree-sitter-zig ([#7803](https://github.com/helix-editor/helix/pull/7803)) -- Update tree-sitter-hare ([#7784](https://github.com/helix-editor/helix/pull/7784)) -- Add Java indent queries ([#7844](https://github.com/helix-editor/helix/pull/7844)) -- Update tree-sitter-scheme ([979933b](https://github.com/helix-editor/helix/commit/979933b)) -- Recognize `scm` as Scheme instead of TSQ ([5707151](https://github.com/helix-editor/helix/commit/5707151)) -- Update tree-sitter-git-commit ([#7831](https://github.com/helix-editor/helix/pull/7831)) -- Update JavaScript, TypeScript and TSX grammars ([#7852](https://github.com/helix-editor/helix/pull/7852)) -- Update tree-sitter-nu ([#7873](https://github.com/helix-editor/helix/pull/7873)) -- Fix YAML indentation ([#6768](https://github.com/helix-editor/helix/pull/6768)) -- Add `csharp-ls`, Pyright, Pylyzer and add roots for Python ([#7897](https://github.com/helix-editor/helix/pull/7897), [#8032](https://github.com/helix-editor/helix/pull/8032)) -- Update tree-sitter-slint ([#7893](https://github.com/helix-editor/helix/pull/7893)) -- Recognize more ZSH file-types as Bash ([#7930](https://github.com/helix-editor/helix/pull/7930)) -- Recognize `star` extension as Starlark ([#7922](https://github.com/helix-editor/helix/pull/7922)) -- Fix inline HTML tag highlighting in markdown ([#7960](https://github.com/helix-editor/helix/pull/7960)) -- Update tree-sitter-robot ([#7970](https://github.com/helix-editor/helix/pull/7970)) -- Highlight Dart 3 `sealed` and `base` keywords ([#7974](https://github.com/helix-editor/helix/pull/7974)) -- Add configuration for `ltex-ls` to the default `languages.toml` ([#7838](https://github.com/helix-editor/helix/pull/7838)) -- Update tree-sitter-strace ([#8087](https://github.com/helix-editor/helix/pull/8087)) -- Update tree-sitter-gleam, enable auto-format ([#8085](https://github.com/helix-editor/helix/pull/8085)) -- Update tree-sitter-esdl ([#8222](https://github.com/helix-editor/helix/pull/8222)) -- Expand ignore file-types ([#8220](https://github.com/helix-editor/helix/pull/8220)) -- Recognize feed related formats as XML ([#8232](https://github.com/helix-editor/helix/pull/8232)) -- Improve YAML injections ([#8217](https://github.com/helix-editor/helix/pull/8217)) -- Add shebangs for TypeScript, Julia, Java and OCaml ([95e994a](https://github.com/helix-editor/helix/commit/95e994a)) -- Highlight abbreviations in Scheme ([ef23847](https://github.com/helix-editor/helix/commit/ef23847)) -- Remove backtic auto-pair in OCaml ([#8260](https://github.com/helix-editor/helix/pull/8260)) -- Recognize `flake.lock` as JSON ([#8304](https://github.com/helix-editor/helix/pull/8304)) -- Add Python test script injection for Nix ([b4494e1](https://github.com/helix-editor/helix/commit/b4494e1)) -- Fix Nix comment injection precedence ([37e48f4](https://github.com/helix-editor/helix/commit/37e48f4)) -- Recognize editorconfig files as INI ([#8308](https://github.com/helix-editor/helix/pull/8308)) -- Recognize `.babelrc` as JSON ([#8309](https://github.com/helix-editor/helix/pull/8309)) -- Switch Purescript to its own tree-sitter parser ([#8306](https://github.com/helix-editor/helix/pull/8306), [#8338](https://github.com/helix-editor/helix/pull/8338), [#8527](https://github.com/helix-editor/helix/pull/8527)) -- Update Unison highlights ([#8315](https://github.com/helix-editor/helix/pull/8315)) -- Recognize `.webmanifest` as JSON ([#8342](https://github.com/helix-editor/helix/pull/8342)) -- Recognize polkit policy files as XML ([#8369](https://github.com/helix-editor/helix/pull/8369)) -- Recognize polkit rules files as JavaScript ([#8370](https://github.com/helix-editor/helix/pull/8370)) -- Update Go highlight queries ([#8399](https://github.com/helix-editor/helix/pull/8399)) -- Add shebangs for Makefiles ([#8410](https://github.com/helix-editor/helix/pull/8410)) -- Add file-type associations from VSCode ([#8388](https://github.com/helix-editor/helix/pull/8388)) -- Add validation to JSON/CSS language server configs ([#8433](https://github.com/helix-editor/helix/pull/8433)) -- Add a configuration for the tailwind language server ([#8442](https://github.com/helix-editor/helix/pull/8442)) -- Add a configuration for the ansible language server ([#7973](https://github.com/helix-editor/helix/pull/7973)) -- Add a configuration for the GraphQL language server ([#8492](https://github.com/helix-editor/helix/pull/8492)) -- Indent while statements in Bash ([#8528](https://github.com/helix-editor/helix/pull/8528)) -- Update tree-sitter-haskell and queries ([#8558](https://github.com/helix-editor/helix/pull/8558)) - -Packaging: - -- Add an overlay to the Nix flake ([#7078](https://github.com/helix-editor/helix/pull/7078)) -- Check for `git` before fetching or building grammars ([#7320](https://github.com/helix-editor/helix/pull/7320)) -- Refactor Nix flake to use Crane ([#7763](https://github.com/helix-editor/helix/pull/7763)) -- Remove the aarch64 appimage from the release CI ([#7832](https://github.com/helix-editor/helix/pull/7832)) -- Add desktop and icon files to Nix flake output ([#7979](https://github.com/helix-editor/helix/pull/7979)) -- Build flake packages with the latest stable Rust ([#8133](https://github.com/helix-editor/helix/pull/8133)) - -# 23.05 (2023-05-18) - -23.05 is a smaller release focusing on fixes. There were 88 contributors in this release. Thank you all! - -Features: - -- Add a config option to exclude declaration from LSP references request ([#6886](https://github.com/helix-editor/helix/pull/6886)) -- Enable injecting languages based on their file extension and shebang ([#3970](https://github.com/helix-editor/helix/pull/3970)) -- Sort the buffer picker by most recent access ([#2980](https://github.com/helix-editor/helix/pull/2980)) -- Perform syntax highlighting in the picker asynchronously ([#7028](https://github.com/helix-editor/helix/pull/7028)) - -Commands: - -- `:update` is now aliased as `:u` ([#6835](https://github.com/helix-editor/helix/pull/6835)) -- Add `extend_to_first_nonwhitespace` which acts the same as `goto_first_nonwhitespace` but always extends ([#6837](https://github.com/helix-editor/helix/pull/6837)) -- Add `:clear-register` for clearing the given register or all registers ([#5695](https://github.com/helix-editor/helix/pull/5695)) -- Add `:write-buffer-close` and `:write-buffer-close!` ([#6947](https://github.com/helix-editor/helix/pull/6947)) - -Fixes: - -- Normalize LSP workspace paths ([#6517](https://github.com/helix-editor/helix/pull/6517)) -- Robustly handle invalid LSP ranges ([#6512](https://github.com/helix-editor/helix/pull/6512)) -- Fix line number display for LSP goto pickers ([#6559](https://github.com/helix-editor/helix/pull/6559)) -- Fix toggling of `soft-wrap.enable` option ([#6656](https://github.com/helix-editor/helix/pull/6656), [58e457a](https://github.com/helix-editor/helix/commit/58e457a), [#6742](https://github.com/helix-editor/helix/pull/6742)) -- Handle `workspace/configuration` requests from stopped language servers ([#6693](https://github.com/helix-editor/helix/pull/6693)) -- Fix possible crash from opening the jumplist picker ([#6672](https://github.com/helix-editor/helix/pull/6672)) -- Fix theme preview returning to current theme on line and word deletions ([#6694](https://github.com/helix-editor/helix/pull/6694)) -- Re-run crate build scripts on changes to revision and grammar repositories ([#6743](https://github.com/helix-editor/helix/pull/6743)) -- Fix crash on opening from suspended state ([#6764](https://github.com/helix-editor/helix/pull/6764)) -- Fix unwrap bug in DAP ([#6786](https://github.com/helix-editor/helix/pull/6786)) -- Always build tree-sitter parsers with C++14 and C11 ([#6792](https://github.com/helix-editor/helix/pull/6792), [#6834](https://github.com/helix-editor/helix/pull/6834), [#6845](https://github.com/helix-editor/helix/pull/6845)) -- Exit with a non-zero statuscode when tree-sitter parser builds fail ([#6795](https://github.com/helix-editor/helix/pull/6795)) -- Flip symbol range in LSP goto commands ([#6794](https://github.com/helix-editor/helix/pull/6794)) -- Fix runtime toggling of the `mouse` option ([#6675](https://github.com/helix-editor/helix/pull/6675)) -- Fix panic in inlay hint computation when view anchor is out of bounds ([#6883](https://github.com/helix-editor/helix/pull/6883)) -- Significantly improve performance of git discovery on slow file systems ([#6890](https://github.com/helix-editor/helix/pull/6890)) -- Downgrade gix log level to info ([#6915](https://github.com/helix-editor/helix/pull/6915)) -- Conserve BOM and properly support saving UTF16 files ([#6497](https://github.com/helix-editor/helix/pull/6497)) -- Correctly handle completion re-request ([#6594](https://github.com/helix-editor/helix/pull/6594)) -- Fix offset encoding in LSP `didChange` notifications ([#6921](https://github.com/helix-editor/helix/pull/6921)) -- Change `gix` logging level to info ([#6915](https://github.com/helix-editor/helix/pull/6915)) -- Improve error message when writes fail because parent directories do not exist ([#7014](https://github.com/helix-editor/helix/pull/7014)) -- Replace DAP variables popup instead of pushing more popups ([#7034](https://github.com/helix-editor/helix/pull/7034)) -- Disable tree-sitter for files after parsing for 500ms ([#7028](https://github.com/helix-editor/helix/pull/7028)) -- Fix crash when deleting with multiple cursors ([#6024](https://github.com/helix-editor/helix/pull/6024)) -- Fix selection sliding when deleting forwards in append mode ([#6024](https://github.com/helix-editor/helix/pull/6024)) -- Fix completion on paths containing spaces ([#6779](https://github.com/helix-editor/helix/pull/6779)) - -Themes: - -- Style inlay hints in `dracula` theme ([#6515](https://github.com/helix-editor/helix/pull/6515)) -- Style inlay hints in `onedark` theme ([#6503](https://github.com/helix-editor/helix/pull/6503)) -- Style inlay hints and the soft-wrap indicator in `varua` ([#6568](https://github.com/helix-editor/helix/pull/6568), [#6589](https://github.com/helix-editor/helix/pull/6589)) -- Style inlay hints in `emacs` theme ([#6569](https://github.com/helix-editor/helix/pull/6569)) -- Update `base16_transparent` and `dark_high_contrast` themes ([#6577](https://github.com/helix-editor/helix/pull/6577)) -- Style inlay hints for `mellow` and `rasmus` themes ([#6583](https://github.com/helix-editor/helix/pull/6583)) -- Dim pane divider for `base16_transparent` theme ([#6534](https://github.com/helix-editor/helix/pull/6534)) -- Style inlay hints in `zenburn` theme ([#6593](https://github.com/helix-editor/helix/pull/6593)) -- Style inlay hints in `boo_berry` theme ([#6625](https://github.com/helix-editor/helix/pull/6625)) -- Add `ferra` theme ([#6619](https://github.com/helix-editor/helix/pull/6619), [#6776](https://github.com/helix-editor/helix/pull/6776)) -- Style inlay hints in `nightfox` theme ([#6655](https://github.com/helix-editor/helix/pull/6655)) -- Fix `ayu` theme family markup code block background ([#6538](https://github.com/helix-editor/helix/pull/6538)) -- Improve whitespace and search match colors in `rose_pine` theme ([#6679](https://github.com/helix-editor/helix/pull/6679)) -- Highlight selected items in `base16_transparent` theme ([#6716](https://github.com/helix-editor/helix/pull/6716)) -- Adjust everforest to resemble original more closely ([#5866](https://github.com/helix-editor/helix/pull/5866)) -- Refactor `dracula` theme ([#6552](https://github.com/helix-editor/helix/pull/6552), [#6767](https://github.com/helix-editor/helix/pull/6767), [#6855](https://github.com/helix-editor/helix/pull/6855), [#6987](https://github.com/helix-editor/helix/pull/6987)) -- Style inlay hints in `darcula` theme ([#6732](https://github.com/helix-editor/helix/pull/6732)) -- Style inlay hints in `kanagawa` theme ([#6773](https://github.com/helix-editor/helix/pull/6773)) -- Improve `ayu_dark` theme ([#6622](https://github.com/helix-editor/helix/pull/6622)) -- Refactor `noctis` theme multiple cursor highlighting ([96720e7](https://github.com/helix-editor/helix/commit/96720e7)) -- Refactor `noctis` theme whitespace rendering and indent guides ([f2ccc03](https://github.com/helix-editor/helix/commit/f2ccc03)) -- Add `amberwood` theme ([#6924](https://github.com/helix-editor/helix/pull/6924)) -- Update `nightfox` theme ([#7061](https://github.com/helix-editor/helix/pull/7061)) - -Language support: - -- R language server: use the `--no-echo` flag to silence output ([#6570](https://github.com/helix-editor/helix/pull/6570)) -- Recognize CUDA files as C++ ([#6521](https://github.com/helix-editor/helix/pull/6521)) -- Add support for Hurl ([#6450](https://github.com/helix-editor/helix/pull/6450)) -- Add textobject queries for Julia ([#6588](https://github.com/helix-editor/helix/pull/6588)) -- Update Ruby highlight queries ([#6587](https://github.com/helix-editor/helix/pull/6587)) -- Add xsd to XML file-types ([#6631](https://github.com/helix-editor/helix/pull/6631)) -- Support Robot Framework ([#6611](https://github.com/helix-editor/helix/pull/6611)) -- Update Gleam tree-sitter parser ([#6641](https://github.com/helix-editor/helix/pull/6641)) -- Update git-commit tree-sitter parser ([#6692](https://github.com/helix-editor/helix/pull/6692)) -- Update Haskell tree-sitter parser ([#6317](https://github.com/helix-editor/helix/pull/6317)) -- Add injection queries for Haskell quasiquotes ([#6474](https://github.com/helix-editor/helix/pull/6474)) -- Highlight C/C++ escape sequences ([#6724](https://github.com/helix-editor/helix/pull/6724)) -- Support Markdoc ([#6432](https://github.com/helix-editor/helix/pull/6432)) -- Support OpenCL ([#6473](https://github.com/helix-editor/helix/pull/6473)) -- Support DTD ([#6644](https://github.com/helix-editor/helix/pull/6644)) -- Fix constant highlighting in Python queries ([#6751](https://github.com/helix-editor/helix/pull/6751)) -- Support Just ([#6453](https://github.com/helix-editor/helix/pull/6453)) -- Fix Go locals query for `var_spec` identifiers ([#6763](https://github.com/helix-editor/helix/pull/6763)) -- Update Markdown tree-sitter parser ([#6785](https://github.com/helix-editor/helix/pull/6785)) -- Fix Haskell workspace root for cabal projects ([#6828](https://github.com/helix-editor/helix/pull/6828)) -- Avoid extra indentation in Go switches ([#6817](https://github.com/helix-editor/helix/pull/6817)) -- Fix Go workspace roots ([#6884](https://github.com/helix-editor/helix/pull/6884)) -- Set PerlNavigator as the default Perl language server ([#6860](https://github.com/helix-editor/helix/pull/6860)) -- Highlight more sqlx macros in Rust ([#6793](https://github.com/helix-editor/helix/pull/6793)) -- Switch Odin tree-sitter grammar ([#6766](https://github.com/helix-editor/helix/pull/6766)) -- Recognize `poetry.lock` as TOML ([#6928](https://github.com/helix-editor/helix/pull/6928)) -- Recognize Jupyter notebooks as JSON ([#6927](https://github.com/helix-editor/helix/pull/6927)) -- Add language server configuration for Crystal ([#6948](https://github.com/helix-editor/helix/pull/6948)) -- Add `build.gradle.kts` to Java and Scala roots ([#6970](https://github.com/helix-editor/helix/pull/6970)) -- Recognize `sty` and `cls` files as latex ([#6986](https://github.com/helix-editor/helix/pull/6986)) -- Update Dockerfile tree-sitter grammar ([#6895](https://github.com/helix-editor/helix/pull/6895)) -- Add comment injections for Odin ([#7027](https://github.com/helix-editor/helix/pull/7027)) -- Recognize `gml` as XML ([#7055](https://github.com/helix-editor/helix/pull/7055)) -- Recognize `geojson` as JSON ([#7054](https://github.com/helix-editor/helix/pull/7054)) - -Packaging: - -- Update the Nix flake dependencies, remove a deprecated option ([#6546](https://github.com/helix-editor/helix/pull/6546)) -- Fix and re-enable aarch64-macos release binary builds ([#6504](https://github.com/helix-editor/helix/pull/6504)) -- The git dependency on `tree-sitter` has been replaced with a regular crates.io dependency ([#6608](https://github.com/helix-editor/helix/pull/6608)) - -# 23.03 (2023-03-31) - -23.03 brings some long-awaited and exciting features. Thank you to everyone involved! This release saw changes from 102 contributors. - -For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/22.12..23.03). -Also check out the [release notes](https://helix-editor.com/news/release-23-03-highlights/) for more commentary on larger features. - -Breaking changes: - -- Select diagnostic range in `goto_*_diag` commands ([#4713](https://github.com/helix-editor/helix/pull/4713), [#5164](https://github.com/helix-editor/helix/pull/5164), [#6193](https://github.com/helix-editor/helix/pull/6193)) -- Remove jump behavior from `increment`/`decrement` ([#4123](https://github.com/helix-editor/helix/pull/4123), [#5929](https://github.com/helix-editor/helix/pull/5929)) -- Select change range in `goto_*_change` commands ([#5206](https://github.com/helix-editor/helix/pull/5206)) -- Split file modification indicator from filename statusline elements ([#4731](https://github.com/helix-editor/helix/pull/4731), [#6036](https://github.com/helix-editor/helix/pull/6036)) -- Jump to symbol ranges in LSP goto commands ([#5986](https://github.com/helix-editor/helix/pull/5986)) -- Workspace detection now stops at the first `.helix/` directory (merging multiple `.helix/languages.toml` configurations is no longer supported) ([#5748](https://github.com/helix-editor/helix/pull/5748)) - -Features: - -- Dynamic workspace symbol picker ([#5055](https://github.com/helix-editor/helix/pull/5055)) -- Soft-wrap ([#5420](https://github.com/helix-editor/helix/pull/5420), [#5786](https://github.com/helix-editor/helix/pull/5786), [#5893](https://github.com/helix-editor/helix/pull/5893), [#6142](https://github.com/helix-editor/helix/pull/6142), [#6440](https://github.com/helix-editor/helix/pull/6440)) -- Initial support for LSP snippet completions ([#5864](https://github.com/helix-editor/helix/pull/5864), [b1f7528](https://github.com/helix-editor/helix/commit/b1f7528), [#6263](https://github.com/helix-editor/helix/pull/6263), [bbf4800](https://github.com/helix-editor/helix/commit/bbf4800), [90348b8](https://github.com/helix-editor/helix/commit/90348b8), [f87299f](https://github.com/helix-editor/helix/commit/f87299f), [#6371](https://github.com/helix-editor/helix/pull/6371), [9fe3adc](https://github.com/helix-editor/helix/commit/9fe3adc)) -- Add a statusline element for showing the current version control HEAD ([#5682](https://github.com/helix-editor/helix/pull/5682)) -- Display LSP type hints ([#5420](https://github.com/helix-editor/helix/pull/5420), [#5934](https://github.com/helix-editor/helix/pull/5934), [#6312](https://github.com/helix-editor/helix/pull/6312)) -- Enable the Kitty keyboard protocol on terminals with support ([#4939](https://github.com/helix-editor/helix/pull/4939), [#6170](https://github.com/helix-editor/helix/pull/6170), [#6194](https://github.com/helix-editor/helix/pull/6194), [#6438](https://github.com/helix-editor/helix/pull/6438)) -- Add a statusline element for the basename of the current file ([#5318](https://github.com/helix-editor/helix/pull/5318)) -- Add substring matching syntax for the picker ([#5658](https://github.com/helix-editor/helix/pull/5658)) -- Support LSP `textDocument/prepareRename` ([#6103](https://github.com/helix-editor/helix/pull/6103)) -- Allow multiple runtime directories with priorities ([#5411](https://github.com/helix-editor/helix/pull/5411)) -- Allow configuring whether to insert or replace completions ([#5728](https://github.com/helix-editor/helix/pull/5728)) -- Allow per-workspace config file `.helix/config.toml` ([#5748](https://github.com/helix-editor/helix/pull/5748)) -- Add `workspace-lsp-roots` config option to support multiple LSP roots for use with monorepos ([#5748](https://github.com/helix-editor/helix/pull/5748)) - -Commands: - -- `:pipe-to` which pipes selections into a shell command and ignores output ([#4931](https://github.com/helix-editor/helix/pull/4931)) -- `merge_consecutive_selections` (`A-_`) combines all consecutive selections ([#5047](https://github.com/helix-editor/helix/pull/5047)) -- `rotate_view_reverse` which focuses the previous view ([#5356](https://github.com/helix-editor/helix/pull/5356)) -- `goto_declaration` (`gD`, requires LSP) which jumps to a symbol's declaration ([#5646](https://github.com/helix-editor/helix/pull/5646)) -- `file_picker_in_current_buffer_directory` ([#4666](https://github.com/helix-editor/helix/pull/4666)) -- `:character-info` which shows information about the character under the cursor ([#4000](https://github.com/helix-editor/helix/pull/4000)) -- `:toggle-option` for toggling config options at runtime ([#4085](https://github.com/helix-editor/helix/pull/4085)) -- `dap_restart` for restarting a debug session in DAP ([#5651](https://github.com/helix-editor/helix/pull/5651)) -- `:lsp-stop` to stop the language server of the current buffer ([#5964](https://github.com/helix-editor/helix/pull/5964)) -- `:reset-diff-change` for resetting a diff hunk to its original text ([#4974](https://github.com/helix-editor/helix/pull/4974)) -- `:config-open-workspace` for opening the config file local to the current workspace ([#5748](https://github.com/helix-editor/helix/pull/5748)) - -Usability improvements: - -- Remove empty detail section in completion menu when LSP doesn't send details ([#4902](https://github.com/helix-editor/helix/pull/4902)) -- Pass client information on LSP initialization ([#4904](https://github.com/helix-editor/helix/pull/4904)) -- Allow specifying environment variables for language servers in language config ([#4004](https://github.com/helix-editor/helix/pull/4004)) -- Allow detached git worktrees to be recognized as root paths ([#5097](https://github.com/helix-editor/helix/pull/5097)) -- Improve error message handling for theme loading failures ([#5073](https://github.com/helix-editor/helix/pull/5073)) -- Print the names of binaries required for LSP/DAP in health-check ([#5195](https://github.com/helix-editor/helix/pull/5195)) -- Improve sorting in the picker in cases of ties ([#5169](https://github.com/helix-editor/helix/pull/5169)) -- Add theming for prompt suggestions ([#5104](https://github.com/helix-editor/helix/pull/5104)) -- Open a file picker when using `:open` on directories ([#2707](https://github.com/helix-editor/helix/pull/2707), [#5278](https://github.com/helix-editor/helix/pull/5278)) -- Reload language config with `:config-reload` ([#5239](https://github.com/helix-editor/helix/pull/5239), [#5381](https://github.com/helix-editor/helix/pull/5381), [#5431](https://github.com/helix-editor/helix/pull/5431)) -- Improve indent queries for python when the tree is errored ([#5332](https://github.com/helix-editor/helix/pull/5332)) -- Picker: Open files without closing the picker with `A-ret` ([#4435](https://github.com/helix-editor/helix/pull/4435)) -- Allow theming cursors by primary/secondary and by mode ([#5130](https://github.com/helix-editor/helix/pull/5130)) -- Allow configuration of the minimum width for the line-numbers gutter ([#4724](https://github.com/helix-editor/helix/pull/4724), [#5696](https://github.com/helix-editor/helix/pull/5696)) -- Use filename completer for `:run-shell-command` command ([#5729](https://github.com/helix-editor/helix/pull/5729)) -- Surround with line-endings with `ms<ret>` ([#4571](https://github.com/helix-editor/helix/pull/4571)) -- Hide duplicate symlinks in file pickers ([#5658](https://github.com/helix-editor/helix/pull/5658)) -- Tabulate buffer picker contents ([#5777](https://github.com/helix-editor/helix/pull/5777)) -- Add an option to disable LSP ([#4425](https://github.com/helix-editor/helix/pull/4425)) -- Short-circuit tree-sitter and word object motions ([#5851](https://github.com/helix-editor/helix/pull/5851)) -- Add exit code to failed command message ([#5898](https://github.com/helix-editor/helix/pull/5898)) -- Make `m` textobject look for pairs enclosing selections ([#3344](https://github.com/helix-editor/helix/pull/3344)) -- Negotiate LSP position encoding ([#5894](https://github.com/helix-editor/helix/pull/5894), [a48d1a4](https://github.com/helix-editor/helix/commit/a48d1a4)) -- Display deprecated LSP completions with strikethrough ([#5932](https://github.com/helix-editor/helix/pull/5932)) -- Add JSONRPC request ID to failed LSP/DAP request log messages ([#6010](https://github.com/helix-editor/helix/pull/6010), [#6018](https://github.com/helix-editor/helix/pull/6018)) -- Ignore case when filtering LSP completions ([#6008](https://github.com/helix-editor/helix/pull/6008)) -- Show current language when no arguments are passed to `:set-language` ([#5895](https://github.com/helix-editor/helix/pull/5895)) -- Refactor and rewrite all book documentation ([#5534](https://github.com/helix-editor/helix/pull/5534)) -- Separate diagnostic picker message and code ([#6095](https://github.com/helix-editor/helix/pull/6095)) -- Add a config option to bypass undercurl detection ([#6253](https://github.com/helix-editor/helix/pull/6253)) -- Only complete appropriate arguments for typed commands ([#5966](https://github.com/helix-editor/helix/pull/5966)) -- Discard outdated LSP diagnostics ([3c9d5d0](https://github.com/helix-editor/helix/commit/3c9d5d0)) -- Discard outdated LSP workspace edits ([b6a4927](https://github.com/helix-editor/helix/commit/b6a4927)) -- Run shell commands asynchronously ([#6373](https://github.com/helix-editor/helix/pull/6373)) -- Show diagnostic codes in LSP diagnostic messages ([#6378](https://github.com/helix-editor/helix/pull/6378)) -- Highlight the current line in a DAP debug session ([#5957](https://github.com/helix-editor/helix/pull/5957)) -- Hide signature help if it overlaps with the completion menu ([#5523](https://github.com/helix-editor/helix/pull/5523), [7a69c40](https://github.com/helix-editor/helix/commit/7a69c40)) - -Fixes: - -- Fix behavior of `auto-completion` flag for completion-on-trigger ([#5042](https://github.com/helix-editor/helix/pull/5042)) -- Reset editor mode when changing buffers ([#5072](https://github.com/helix-editor/helix/pull/5072)) -- Respect scrolloff settings in mouse movements ([#5255](https://github.com/helix-editor/helix/pull/5255)) -- Avoid trailing `s` when only one file is opened ([#5189](https://github.com/helix-editor/helix/pull/5189)) -- Fix erroneous indent between closers of auto-pairs ([#5330](https://github.com/helix-editor/helix/pull/5330)) -- Expand `~` when parsing file paths in `:open` ([#5329](https://github.com/helix-editor/helix/pull/5329)) -- Fix theme inheritance for default themes ([#5218](https://github.com/helix-editor/helix/pull/5218)) -- Fix `extend_line` with a count when the current line(s) are selected ([#5288](https://github.com/helix-editor/helix/pull/5288)) -- Prompt: Fix autocompletion for paths containing periods ([#5175](https://github.com/helix-editor/helix/pull/5175)) -- Skip serializing JSONRPC params if params is null ([#5471](https://github.com/helix-editor/helix/pull/5471)) -- Fix interaction with the `xclip` clipboard provider ([#5426](https://github.com/helix-editor/helix/pull/5426)) -- Fix undo/redo execution from the command palette ([#5294](https://github.com/helix-editor/helix/pull/5294)) -- Fix highlighting of non-block cursors ([#5575](https://github.com/helix-editor/helix/pull/5575)) -- Fix panic when nooping in `join_selections` and `join_selections_space` ([#5423](https://github.com/helix-editor/helix/pull/5423)) -- Fix selecting a changed file in global search ([#5639](https://github.com/helix-editor/helix/pull/5639)) -- Fix initial syntax highlight layer sort order ([#5196](https://github.com/helix-editor/helix/pull/5196)) -- Fix UTF-8 length handling for shellwords ([#5738](https://github.com/helix-editor/helix/pull/5738)) -- Remove C-j and C-k bindings from the completion menu ([#5070](https://github.com/helix-editor/helix/pull/5070)) -- Always commit to history when pasting ([#5790](https://github.com/helix-editor/helix/pull/5790)) -- Properly handle LSP position encoding ([#5711](https://github.com/helix-editor/helix/pull/5711)) -- Fix infinite loop in `copy_selection_on_prev_line` ([#5888](https://github.com/helix-editor/helix/pull/5888)) -- Fix completion popup positioning ([#5842](https://github.com/helix-editor/helix/pull/5842)) -- Fix a panic when uncommenting a line with only a comment token ([#5933](https://github.com/helix-editor/helix/pull/5933)) -- Fix panic in `goto_window_center` at EOF ([#5987](https://github.com/helix-editor/helix/pull/5987)) -- Ignore invalid file URIs sent by a language server ([#6000](https://github.com/helix-editor/helix/pull/6000)) -- Decode LSP URIs for the workspace diagnostics picker ([#6016](https://github.com/helix-editor/helix/pull/6016)) -- Fix incorrect usages of `tab_width` with `indent_width` ([#5918](https://github.com/helix-editor/helix/pull/5918)) -- DAP: Send Disconnect if the Terminated event is received ([#5532](https://github.com/helix-editor/helix/pull/5532)) -- DAP: Validate key and index exist when requesting variables ([#5628](https://github.com/helix-editor/helix/pull/5628)) -- Check LSP renaming support before prompting for rename text ([#6257](https://github.com/helix-editor/helix/pull/6257)) -- Fix indent guide rendering ([#6136](https://github.com/helix-editor/helix/pull/6136)) -- Fix division by zero panic ([#6155](https://github.com/helix-editor/helix/pull/6155)) -- Fix lacking space panic ([#6109](https://github.com/helix-editor/helix/pull/6109)) -- Send error replies for malformed and unhandled LSP requests ([#6058](https://github.com/helix-editor/helix/pull/6058)) -- Fix table column calculations for dynamic pickers ([#5920](https://github.com/helix-editor/helix/pull/5920)) -- Skip adding jumplist entries for `:<n>` line number previews ([#5751](https://github.com/helix-editor/helix/pull/5751)) -- Fix completion race conditions ([#6173](https://github.com/helix-editor/helix/pull/6173)) -- Fix `shrink_selection` with multiple cursors ([#6093](https://github.com/helix-editor/helix/pull/6093)) -- Fix indentation calculation for lines with mixed tabs/spaces ([#6278](https://github.com/helix-editor/helix/pull/6278)) -- No-op `client/registerCapability` LSP requests ([#6258](https://github.com/helix-editor/helix/pull/6258)) -- Send the STOP signal to all processes in the process group ([#3546](https://github.com/helix-editor/helix/pull/3546)) -- Fix workspace edit client capabilities declaration ([7bf168d](https://github.com/helix-editor/helix/commit/7bf168d)) -- Fix highlighting in picker results with multiple columns ([#6333](https://github.com/helix-editor/helix/pull/6333)) -- Canonicalize paths before stripping the current dir as a prefix ([#6290](https://github.com/helix-editor/helix/pull/6290)) -- Fix truncation behavior for long path names in the file picker ([#6410](https://github.com/helix-editor/helix/pull/6410), [67783dd](https://github.com/helix-editor/helix/commit/67783dd)) -- Fix theme reloading behavior in `:config-reload` ([ab819d8](https://github.com/helix-editor/helix/commit/ab819d8)) - -Themes: - -- Update `serika` ([#5038](https://github.com/helix-editor/helix/pull/5038), [#6344](https://github.com/helix-editor/helix/pull/6344)) -- Update `flatwhite` ([#5036](https://github.com/helix-editor/helix/pull/5036), [#6323](https://github.com/helix-editor/helix/pull/6323)) -- Update `autumn` ([#5051](https://github.com/helix-editor/helix/pull/5051), [#5397](https://github.com/helix-editor/helix/pull/5397), [#6280](https://github.com/helix-editor/helix/pull/6280), [#6316](https://github.com/helix-editor/helix/pull/6316)) -- Update `acme` ([#5019](https://github.com/helix-editor/helix/pull/5019), [#5486](https://github.com/helix-editor/helix/pull/5486), [#5488](https://github.com/helix-editor/helix/pull/5488)) -- Update `gruvbox` themes ([#5066](https://github.com/helix-editor/helix/pull/5066), [#5333](https://github.com/helix-editor/helix/pull/5333), [#5540](https://github.com/helix-editor/helix/pull/5540), [#6285](https://github.com/helix-editor/helix/pull/6285), [#6295](https://github.com/helix-editor/helix/pull/6295)) -- Update `base16_transparent` ([#5105](https://github.com/helix-editor/helix/pull/5105)) -- Update `dark_high_contrast` ([#5105](https://github.com/helix-editor/helix/pull/5105)) -- Update `dracula` ([#5236](https://github.com/helix-editor/helix/pull/5236), [#5627](https://github.com/helix-editor/helix/pull/5627), [#6414](https://github.com/helix-editor/helix/pull/6414)) -- Update `monokai_pro_spectrum` ([#5250](https://github.com/helix-editor/helix/pull/5250), [#5602](https://github.com/helix-editor/helix/pull/5602)) -- Update `rose_pine` ([#5267](https://github.com/helix-editor/helix/pull/5267), [#5489](https://github.com/helix-editor/helix/pull/5489), [#6384](https://github.com/helix-editor/helix/pull/6384)) -- Update `kanagawa` ([#5273](https://github.com/helix-editor/helix/pull/5273), [#5571](https://github.com/helix-editor/helix/pull/5571), [#6085](https://github.com/helix-editor/helix/pull/6085)) -- Update `emacs` ([#5334](https://github.com/helix-editor/helix/pull/5334)) -- Add `github` themes ([#5353](https://github.com/helix-editor/helix/pull/5353), [efeec12](https://github.com/helix-editor/helix/commit/efeec12)) - - Dark themes: `github_dark`, `github_dark_colorblind`, `github_dark_dimmed`, `github_dark_high_contrast`, `github_dark_tritanopia` - - Light themes: `github_light`, `github_light_colorblind`, `github_light_dimmed`, `github_light_high_contrast`, `github_light_tritanopia` -- Update `solarized` variants ([#5445](https://github.com/helix-editor/helix/pull/5445), [#6327](https://github.com/helix-editor/helix/pull/6327)) -- Update `catppuccin` variants ([#5404](https://github.com/helix-editor/helix/pull/5404), [#6107](https://github.com/helix-editor/helix/pull/6107), [#6269](https://github.com/helix-editor/helix/pull/6269), [#6464](https://github.com/helix-editor/helix/pull/6464)) -- Use curly underlines in built-in themes ([#5419](https://github.com/helix-editor/helix/pull/5419)) -- Update `zenburn` ([#5573](https://github.com/helix-editor/helix/pull/5573)) -- Rewrite `snazzy` ([#3971](https://github.com/helix-editor/helix/pull/3971)) -- Add `monokai_aqua` ([#5578](https://github.com/helix-editor/helix/pull/5578)) -- Add `markup.strikethrough` to existing themes ([#5619](https://github.com/helix-editor/helix/pull/5619)) -- Update `sonokai` ([#5440](https://github.com/helix-editor/helix/pull/5440)) -- Update `onedark` ([#5755](https://github.com/helix-editor/helix/pull/5755)) -- Add `ayu_evolve` ([#5638](https://github.com/helix-editor/helix/pull/5638), [#6028](https://github.com/helix-editor/helix/pull/6028), [#6225](https://github.com/helix-editor/helix/pull/6225)) -- Add `jellybeans` ([#5719](https://github.com/helix-editor/helix/pull/5719)) -- Update `fleet_dark` ([#5605](https://github.com/helix-editor/helix/pull/5605), [#6266](https://github.com/helix-editor/helix/pull/6266), [#6324](https://github.com/helix-editor/helix/pull/6324), [#6375](https://github.com/helix-editor/helix/pull/6375)) -- Add `darcula-solid` ([#5778](https://github.com/helix-editor/helix/pull/5778)) -- Remove text background from monokai themes ([#6009](https://github.com/helix-editor/helix/pull/6009)) -- Update `pop_dark` ([#5992](https://github.com/helix-editor/helix/pull/5992), [#6208](https://github.com/helix-editor/helix/pull/6208), [#6227](https://github.com/helix-editor/helix/pull/6227), [#6292](https://github.com/helix-editor/helix/pull/6292)) -- Add `everblush` ([#6086](https://github.com/helix-editor/helix/pull/6086)) -- Add `adwaita-dark` ([#6042](https://github.com/helix-editor/helix/pull/6042), [#6342](https://github.com/helix-editor/helix/pull/6342)) -- Update `papercolor` ([#6162](https://github.com/helix-editor/helix/pull/6162)) -- Update `onelight` ([#6192](https://github.com/helix-editor/helix/pull/6192), [#6276](https://github.com/helix-editor/helix/pull/6276)) -- Add `molokai` ([#6260](https://github.com/helix-editor/helix/pull/6260)) -- Update `ayu` variants ([#6329](https://github.com/helix-editor/helix/pull/6329)) -- Update `tokyonight` variants ([#6349](https://github.com/helix-editor/helix/pull/6349)) -- Update `nord` variants ([#6376](https://github.com/helix-editor/helix/pull/6376)) - -New languages: - -- BibTeX ([#5064](https://github.com/helix-editor/helix/pull/5064)) -- Mermaid.js ([#5147](https://github.com/helix-editor/helix/pull/5147)) -- Crystal ([#4993](https://github.com/helix-editor/helix/pull/4993), [#5205](https://github.com/helix-editor/helix/pull/5205)) -- MATLAB/Octave ([#5192](https://github.com/helix-editor/helix/pull/5192)) -- `tfvars` (uses HCL) ([#5396](https://github.com/helix-editor/helix/pull/5396)) -- Ponylang ([#5416](https://github.com/helix-editor/helix/pull/5416)) -- DHall ([1f6809c](https://github.com/helix-editor/helix/commit/1f6809c)) -- Sagemath ([#5649](https://github.com/helix-editor/helix/pull/5649)) -- MSBuild ([#5793](https://github.com/helix-editor/helix/pull/5793)) -- pem ([#5797](https://github.com/helix-editor/helix/pull/5797)) -- passwd ([#4959](https://github.com/helix-editor/helix/pull/4959)) -- hosts ([#4950](https://github.com/helix-editor/helix/pull/4950), [#5914](https://github.com/helix-editor/helix/pull/5914)) -- uxntal ([#6047](https://github.com/helix-editor/helix/pull/6047)) -- Yuck ([#6064](https://github.com/helix-editor/helix/pull/6064), [#6242](https://github.com/helix-editor/helix/pull/6242)) -- GNU gettext PO ([#5996](https://github.com/helix-editor/helix/pull/5996)) -- Sway ([#6023](https://github.com/helix-editor/helix/pull/6023)) -- NASM ([#6068](https://github.com/helix-editor/helix/pull/6068)) -- PRQL ([#6126](https://github.com/helix-editor/helix/pull/6126)) -- reStructuredText ([#6180](https://github.com/helix-editor/helix/pull/6180)) -- Smithy ([#6370](https://github.com/helix-editor/helix/pull/6370)) -- VHDL ([#5826](https://github.com/helix-editor/helix/pull/5826)) -- Rego (OpenPolicy Agent) ([#6415](https://github.com/helix-editor/helix/pull/6415)) -- Nim ([#6123](https://github.com/helix-editor/helix/pull/6123)) - -Updated languages and queries: - -- Use diff syntax for patch files ([#5085](https://github.com/helix-editor/helix/pull/5085)) -- Add Haskell textobjects ([#5061](https://github.com/helix-editor/helix/pull/5061)) -- Fix commonlisp configuration ([#5091](https://github.com/helix-editor/helix/pull/5091)) -- Update Scheme ([bae890d](https://github.com/helix-editor/helix/commit/bae890d)) -- Add indent queries for Bash ([#5149](https://github.com/helix-editor/helix/pull/5149)) -- Recognize `c++` as a C++ extension ([#5183](https://github.com/helix-editor/helix/pull/5183)) -- Enable HTTP server in `metals` (Scala) config ([#5551](https://github.com/helix-editor/helix/pull/5551)) -- Change V-lang language server to `v ls` from `vls` ([#5677](https://github.com/helix-editor/helix/pull/5677)) -- Inject comment grammar into Nix ([#5208](https://github.com/helix-editor/helix/pull/5208)) -- Update Rust highlights ([#5238](https://github.com/helix-editor/helix/pull/5238), [#5349](https://github.com/helix-editor/helix/pull/5349)) -- Fix HTML injection within Markdown ([#5265](https://github.com/helix-editor/helix/pull/5265)) -- Fix comment token for godot ([#5276](https://github.com/helix-editor/helix/pull/5276)) -- Expand injections for Vue ([#5268](https://github.com/helix-editor/helix/pull/5268)) -- Add `.bash_aliases` as a Bash file-type ([#5347](https://github.com/helix-editor/helix/pull/5347)) -- Fix comment token for sshclientconfig ([#5351](https://github.com/helix-editor/helix/pull/5351)) -- Update Prisma ([#5417](https://github.com/helix-editor/helix/pull/5417)) -- Update C++ ([#5457](https://github.com/helix-editor/helix/pull/5457)) -- Add more file-types for Python ([#5593](https://github.com/helix-editor/helix/pull/5593)) -- Update tree-sitter-scala ([#5576](https://github.com/helix-editor/helix/pull/5576)) -- Add an injection regex for Lua ([#5606](https://github.com/helix-editor/helix/pull/5606)) -- Add `build.gradle` to java roots configuration ([#5641](https://github.com/helix-editor/helix/pull/5641)) -- Add Hub PR files to markdown file-types ([#5634](https://github.com/helix-editor/helix/pull/5634)) -- Add an external formatter configuration for Cue ([#5679](https://github.com/helix-editor/helix/pull/5679)) -- Add injections for builders and writers to Nix ([#5629](https://github.com/helix-editor/helix/pull/5629)) -- Update tree-sitter-xml to fix whitespace parsing ([#5685](https://github.com/helix-editor/helix/pull/5685)) -- Add `Justfile` to the make file-types configuration ([#5687](https://github.com/helix-editor/helix/pull/5687)) -- Update tree-sitter-sql and highlight queries ([#5683](https://github.com/helix-editor/helix/pull/5683), [#5772](https://github.com/helix-editor/helix/pull/5772)) -- Use the bash grammar and queries for env language ([#5720](https://github.com/helix-editor/helix/pull/5720)) -- Add podspec files to ruby file-types ([#5811](https://github.com/helix-editor/helix/pull/5811)) -- Recognize `.C` and `.H` file-types as C++ ([#5808](https://github.com/helix-editor/helix/pull/5808)) -- Recognize plist and mobileconfig files as XML ([#5863](https://github.com/helix-editor/helix/pull/5863)) -- Fix `select` indentation in Go ([#5713](https://github.com/helix-editor/helix/pull/5713)) -- Check for external file modifications when writing ([#5805](https://github.com/helix-editor/helix/pull/5805)) -- Recognize containerfiles as dockerfile syntax ([#5873](https://github.com/helix-editor/helix/pull/5873)) -- Update godot grammar and queries ([#5944](https://github.com/helix-editor/helix/pull/5944), [#6186](https://github.com/helix-editor/helix/pull/6186)) -- Improve DHall highlights ([#5959](https://github.com/helix-editor/helix/pull/5959)) -- Recognize `.env.dist` and `source.env` as env language ([#6003](https://github.com/helix-editor/helix/pull/6003)) -- Update tree-sitter-git-rebase ([#6030](https://github.com/helix-editor/helix/pull/6030), [#6094](https://github.com/helix-editor/helix/pull/6094)) -- Improve SQL highlights ([#6041](https://github.com/helix-editor/helix/pull/6041)) -- Improve markdown highlights and inject LaTeX ([#6100](https://github.com/helix-editor/helix/pull/6100)) -- Add textobject queries for Elm ([#6084](https://github.com/helix-editor/helix/pull/6084)) -- Recognize graphql schema file type ([#6159](https://github.com/helix-editor/helix/pull/6159)) -- Improve highlighting in comments ([#6143](https://github.com/helix-editor/helix/pull/6143)) -- Improve highlighting for JavaScript/TypeScript/ECMAScript languages ([#6205](https://github.com/helix-editor/helix/pull/6205)) -- Improve PHP highlights ([#6203](https://github.com/helix-editor/helix/pull/6203), [#6250](https://github.com/helix-editor/helix/pull/6250), [#6299](https://github.com/helix-editor/helix/pull/6299)) -- Improve Go highlights ([#6204](https://github.com/helix-editor/helix/pull/6204)) -- Highlight unchecked sqlx functions as SQL in Rust ([#6256](https://github.com/helix-editor/helix/pull/6256)) -- Improve Erlang highlights ([cdd6c8d](https://github.com/helix-editor/helix/commit/cdd6c8d)) -- Improve Nix highlights ([fb4d703](https://github.com/helix-editor/helix/commit/fb4d703)) -- Improve gdscript highlights ([#6311](https://github.com/helix-editor/helix/pull/6311)) -- Improve Vlang highlights ([#6279](https://github.com/helix-editor/helix/pull/6279)) -- Improve Makefile highlights ([#6339](https://github.com/helix-editor/helix/pull/6339)) -- Remove auto-pair for `'` in OCaml ([#6381](https://github.com/helix-editor/helix/pull/6381)) -- Fix indents in switch statements in ECMA languages ([#6369](https://github.com/helix-editor/helix/pull/6369)) -- Recognize xlb and storyboard file-types as XML ([#6407](https://github.com/helix-editor/helix/pull/6407)) -- Recognize cts and mts file-types as TypeScript ([#6424](https://github.com/helix-editor/helix/pull/6424)) -- Recognize SVG file-type as XML ([#6431](https://github.com/helix-editor/helix/pull/6431)) -- Add theme scopes for (un)checked list item markup scopes ([#6434](https://github.com/helix-editor/helix/pull/6434)) -- Update git commit grammar and add the comment textobject ([#6439](https://github.com/helix-editor/helix/pull/6439), [#6493](https://github.com/helix-editor/helix/pull/6493)) -- Recognize ARB file-type as JSON ([#6452](https://github.com/helix-editor/helix/pull/6452)) -- Inject markdown into markdown strings in Julia ([#6489](https://github.com/helix-editor/helix/pull/6489)) - -Packaging: - -- Fix Nix flake devShell for darwin hosts ([#5368](https://github.com/helix-editor/helix/pull/5368)) -- Add Appstream metadata file to `contrib/` ([#5643](https://github.com/helix-editor/helix/pull/5643)) -- Increase the MSRV to 1.65 ([#5570](https://github.com/helix-editor/helix/pull/5570), [#6185](https://github.com/helix-editor/helix/pull/6185)) -- Expose the Nix flake's `wrapper` ([#5994](https://github.com/helix-editor/helix/pull/5994)) - -# 22.12 (2022-12-06) - -This is a great big release filled with changes from a 99 contributors. A big _thank you_ to you all! - -As usual, the following is a summary of each of the changes since the last release. -For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/22.08.1..22.12). - -Breaking changes: - -- Remove readline-like navigation bindings from the default insert mode keymap ([e12690e](https://github.com/helix-editor/helix/commit/e12690e), [#3811](https://github.com/helix-editor/helix/pull/3811), [#3827](https://github.com/helix-editor/helix/pull/3827), [#3915](https://github.com/helix-editor/helix/pull/3915), [#4088](https://github.com/helix-editor/helix/pull/4088)) -- Rename `append_to_line` as `insert_at_line_end` and `prepend_to_line` as `insert_at_line_start` ([#3753](https://github.com/helix-editor/helix/pull/3753)) -- Swap diagnostic picker and debug mode bindings in the space keymap ([#4229](https://github.com/helix-editor/helix/pull/4229)) -- Select newly inserted text on paste or from shell commands ([#4458](https://github.com/helix-editor/helix/pull/4458), [#4608](https://github.com/helix-editor/helix/pull/4608), [#4619](https://github.com/helix-editor/helix/pull/4619), [#4824](https://github.com/helix-editor/helix/pull/4824)) -- Select newly inserted surrounding characters on `ms<char>` ([#4752](https://github.com/helix-editor/helix/pull/4752)) -- Exit select-mode after executing `replace_*` commands ([#4554](https://github.com/helix-editor/helix/pull/4554)) -- Exit select-mode after executing surround commands ([#4858](https://github.com/helix-editor/helix/pull/4858)) -- Change tree-sitter text-object keys ([#3782](https://github.com/helix-editor/helix/pull/3782)) -- Rename `fleetish` theme to `fleet_dark` ([#4997](https://github.com/helix-editor/helix/pull/4997)) - -Features: - -- Bufferline ([#2759](https://github.com/helix-editor/helix/pull/2759)) -- Support underline styles and colors ([#4061](https://github.com/helix-editor/helix/pull/4061), [98c121c](https://github.com/helix-editor/helix/commit/98c121c)) -- Inheritance for themes ([#3067](https://github.com/helix-editor/helix/pull/3067), [#4096](https://github.com/helix-editor/helix/pull/4096)) -- Cursorcolumn ([#4084](https://github.com/helix-editor/helix/pull/4084)) -- Overhauled system for writing files and quitting ([#2267](https://github.com/helix-editor/helix/pull/2267), [#4397](https://github.com/helix-editor/helix/pull/4397)) -- Autosave when terminal loses focus ([#3178](https://github.com/helix-editor/helix/pull/3178)) -- Use OSC52 as a fallback for the system clipboard ([#3220](https://github.com/helix-editor/helix/pull/3220)) -- Show git diffs in the gutter ([#3890](https://github.com/helix-editor/helix/pull/3890), [#5012](https://github.com/helix-editor/helix/pull/5012), [#4995](https://github.com/helix-editor/helix/pull/4995)) -- Add a logo ([dc1ec56](https://github.com/helix-editor/helix/commit/dc1ec56)) -- Multi-cursor completion ([#4496](https://github.com/helix-editor/helix/pull/4496)) - -Commands: - -- `file_picker_in_current_directory` (`<space>F`) ([#3701](https://github.com/helix-editor/helix/pull/3701)) -- `:lsp-restart` to restart the current document's language server ([#3435](https://github.com/helix-editor/helix/pull/3435), [#3972](https://github.com/helix-editor/helix/pull/3972)) -- `join_selections_space` (`A-j`) which joins selections and selects the joining whitespace ([#3549](https://github.com/helix-editor/helix/pull/3549)) -- `:update` to write the current file if it is modified ([#4426](https://github.com/helix-editor/helix/pull/4426)) -- `:lsp-workspace-command` for picking LSP commands to execute ([#3140](https://github.com/helix-editor/helix/pull/3140)) -- `extend_prev_word_end` - the extend variant for `move_prev_word_end` ([7468fa2](https://github.com/helix-editor/helix/commit/7468fa2)) -- `make_search_word_bounded` which adds regex word boundaries to the current search register value ([#4322](https://github.com/helix-editor/helix/pull/4322)) -- `:reload-all` - `:reload` for all open buffers ([#4663](https://github.com/helix-editor/helix/pull/4663), [#4901](https://github.com/helix-editor/helix/pull/4901)) -- `goto_next_change` (`]g`), `goto_prev_change` (`[g`), `goto_first_change` (`[G`), `goto_last_change` (`]G`) textobjects for jumping between VCS changes ([#4650](https://github.com/helix-editor/helix/pull/4650)) - -Usability improvements and fixes: - -- Don't log 'LSP not defined' errors in the logfile ([1caba2d](https://github.com/helix-editor/helix/commit/1caba2d)) -- Look for the external formatter program before invoking it ([#3670](https://github.com/helix-editor/helix/pull/3670)) -- Don't send LSP didOpen events for documents without URLs ([44b4479](https://github.com/helix-editor/helix/commit/44b4479)) -- Fix off-by-one in `extend_line_above` command ([#3689](https://github.com/helix-editor/helix/pull/3689)) -- Use the original scroll offset when opening a split ([1acdfaa](https://github.com/helix-editor/helix/commit/1acdfaa)) -- Handle auto-formatting failures and save the file anyway ([#3684](https://github.com/helix-editor/helix/pull/3684)) -- Ensure the cursor is in view after `:reflow` ([#3733](https://github.com/helix-editor/helix/pull/3733)) -- Add default rulers and reflow config for git commit messages ([#3738](https://github.com/helix-editor/helix/pull/3738)) -- Improve grammar fetching and building output ([#3773](https://github.com/helix-editor/helix/pull/3773)) -- Add a `text` language to language completion ([cc47d3f](https://github.com/helix-editor/helix/commit/cc47d3f)) -- Improve error handling for `:set-language` ([e8add6f](https://github.com/helix-editor/helix/commit/e8add6f)) -- Improve error handling for `:config-reload` ([#3668](https://github.com/helix-editor/helix/pull/3668)) -- Improve error handling when passing improper ranges to syntax highlighting ([#3826](https://github.com/helix-editor/helix/pull/3826)) -- Render `<code>` tags as raw markup in markdown ([#3425](https://github.com/helix-editor/helix/pull/3425)) -- Remove border around the LSP code-actions popup ([#3444](https://github.com/helix-editor/helix/pull/3444)) -- Canonicalize the path to the runtime directory ([#3794](https://github.com/helix-editor/helix/pull/3794)) -- Add a `themelint` xtask for linting themes ([#3234](https://github.com/helix-editor/helix/pull/3234)) -- Re-sort LSP diagnostics after applying transactions ([#3895](https://github.com/helix-editor/helix/pull/3895), [#4319](https://github.com/helix-editor/helix/pull/4319)) -- Add a command-line flag to specify the log file ([#3807](https://github.com/helix-editor/helix/pull/3807)) -- Track source and tag information in LSP diagnostics ([#3898](https://github.com/helix-editor/helix/pull/3898), [1df32c9](https://github.com/helix-editor/helix/commit/1df32c9)) -- Fix theme returning to normal when exiting the `:theme` completion ([#3644](https://github.com/helix-editor/helix/pull/3644)) -- Improve error messages for invalid commands in the keymap ([#3931](https://github.com/helix-editor/helix/pull/3931)) -- Deduplicate regexs in `search_selection` command ([#3941](https://github.com/helix-editor/helix/pull/3941)) -- Split the finding of LSP root and config roots ([#3929](https://github.com/helix-editor/helix/pull/3929)) -- Ensure that the cursor is within view after auto-formatting ([#4047](https://github.com/helix-editor/helix/pull/4047)) -- Add pseudo-pending to commands with on-next-key callbacks ([#4062](https://github.com/helix-editor/helix/pull/4062), [#4077](https://github.com/helix-editor/helix/pull/4077)) -- Add live preview to `:goto` ([#2982](https://github.com/helix-editor/helix/pull/2982)) -- Show regex compilation failure in a popup ([#3049](https://github.com/helix-editor/helix/pull/3049)) -- Add 'cycled to end' and 'no more matches' for search ([#3176](https://github.com/helix-editor/helix/pull/3176), [#4101](https://github.com/helix-editor/helix/pull/4101)) -- Add extending behavior to tree-sitter textobjects ([#3266](https://github.com/helix-editor/helix/pull/3266)) -- Add `ui.gutter.selected` option for themes ([#3303](https://github.com/helix-editor/helix/pull/3303)) -- Make statusline mode names configurable ([#3311](https://github.com/helix-editor/helix/pull/3311)) -- Add a statusline element for total line count ([#3960](https://github.com/helix-editor/helix/pull/3960)) -- Add extending behavior to `goto_window_*` commands ([#3985](https://github.com/helix-editor/helix/pull/3985)) -- Fix a panic in signature help when the preview is too large ([#4030](https://github.com/helix-editor/helix/pull/4030)) -- Add command names to the command palette ([#4071](https://github.com/helix-editor/helix/pull/4071), [#4223](https://github.com/helix-editor/helix/pull/4223), [#4495](https://github.com/helix-editor/helix/pull/4495)) -- Find the LSP workspace root from the current document's path ([#3553](https://github.com/helix-editor/helix/pull/3553)) -- Add an option to skip indent-guide levels ([#3819](https://github.com/helix-editor/helix/pull/3819), [2c36e33](https://github.com/helix-editor/helix/commit/2c36e33)) -- Change focus to modified docs on quit ([#3872](https://github.com/helix-editor/helix/pull/3872)) -- Respond to `USR1` signal by reloading config ([#3952](https://github.com/helix-editor/helix/pull/3952)) -- Exit gracefully when the close operation fails ([#4081](https://github.com/helix-editor/helix/pull/4081)) -- Fix goto/view center mismatch ([#4135](https://github.com/helix-editor/helix/pull/4135)) -- Highlight the current file picker document on idle-timeout ([#3172](https://github.com/helix-editor/helix/pull/3172), [a85e386](https://github.com/helix-editor/helix/commit/a85e386)) -- Apply transactions to jumplist selections ([#4186](https://github.com/helix-editor/helix/pull/4186), [#4227](https://github.com/helix-editor/helix/pull/4227), [#4733](https://github.com/helix-editor/helix/pull/4733), [#4865](https://github.com/helix-editor/helix/pull/4865), [#4912](https://github.com/helix-editor/helix/pull/4912), [#4965](https://github.com/helix-editor/helix/pull/4965), [#4981](https://github.com/helix-editor/helix/pull/4981)) -- Use space as a separator for fuzzy matcher ([#3969](https://github.com/helix-editor/helix/pull/3969)) -- Overlay all diagnostics with highest severity on top ([#4113](https://github.com/helix-editor/helix/pull/4113)) -- Avoid re-parsing unmodified tree-sitter injections ([#4146](https://github.com/helix-editor/helix/pull/4146)) -- Add extending captures for indentation, re-enable python indentation ([#3382](https://github.com/helix-editor/helix/pull/3382), [3e84434](https://github.com/helix-editor/helix/commit/3e84434)) -- Only allow either `--vsplit` or `--hsplit` CLI flags at once ([#4202](https://github.com/helix-editor/helix/pull/4202)) -- Fix append cursor location when selection anchor is at the end of the document ([#4147](https://github.com/helix-editor/helix/pull/4147)) -- Improve selection yanking message ([#4275](https://github.com/helix-editor/helix/pull/4275)) -- Log failures to load tree-sitter grammars as errors ([#4315](https://github.com/helix-editor/helix/pull/4315)) -- Fix rendering of lines longer than 65,536 columns ([#4172](https://github.com/helix-editor/helix/pull/4172)) -- Skip searching `.git` in `global_search` ([#4334](https://github.com/helix-editor/helix/pull/4334)) -- Display tree-sitter scopes in a popup ([#4337](https://github.com/helix-editor/helix/pull/4337)) -- Fix deleting a word from the end of the buffer ([#4328](https://github.com/helix-editor/helix/pull/4328)) -- Pretty print the syntax tree in `:tree-sitter-subtree` ([#4295](https://github.com/helix-editor/helix/pull/4295), [#4606](https://github.com/helix-editor/helix/pull/4606)) -- Allow specifying suffixes for file-type detection ([#2455](https://github.com/helix-editor/helix/pull/2455), [#4414](https://github.com/helix-editor/helix/pull/4414)) -- Fix multi-byte auto-pairs ([#4024](https://github.com/helix-editor/helix/pull/4024)) -- Improve sort scoring for LSP code-actions and completions ([#4134](https://github.com/helix-editor/helix/pull/4134)) -- Fix the handling of quotes within shellwords ([#4098](https://github.com/helix-editor/helix/pull/4098)) -- Fix `delete_word_backward` and `delete_word_forward` on newlines ([#4392](https://github.com/helix-editor/helix/pull/4392)) -- Fix 'no entry found for key' crash on `:write-all` ([#4384](https://github.com/helix-editor/helix/pull/4384)) -- Remove lowercase requirement for tree-sitter grammars ([#4346](https://github.com/helix-editor/helix/pull/4346)) -- Resolve LSP completion items on idle-timeout ([#4406](https://github.com/helix-editor/helix/pull/4406), [#4797](https://github.com/helix-editor/helix/pull/4797)) -- Render diagnostics in the file picker preview ([#4324](https://github.com/helix-editor/helix/pull/4324)) -- Fix terminal freezing on `shell_insert_output` ([#4156](https://github.com/helix-editor/helix/pull/4156)) -- Allow use of the count in the repeat operator (`.`) ([#4450](https://github.com/helix-editor/helix/pull/4450)) -- Show the current theme name on `:theme` with no arguments ([#3740](https://github.com/helix-editor/helix/pull/3740)) -- Fix rendering in very large terminals ([#4318](https://github.com/helix-editor/helix/pull/4318)) -- Sort LSP preselected items to the top of the completion menu ([#4480](https://github.com/helix-editor/helix/pull/4480)) -- Trim braces and quotes from paths in goto-file ([#4370](https://github.com/helix-editor/helix/pull/4370)) -- Prevent automatic signature help outside of insert mode ([#4456](https://github.com/helix-editor/helix/pull/4456)) -- Fix freezes with external programs that process stdin and stdout concurrently ([#4180](https://github.com/helix-editor/helix/pull/4180)) -- Make `scroll` aware of tabs and wide characters ([#4519](https://github.com/helix-editor/helix/pull/4519)) -- Correctly handle escaping in `command_mode` completion ([#4316](https://github.com/helix-editor/helix/pull/4316), [#4587](https://github.com/helix-editor/helix/pull/4587), [#4632](https://github.com/helix-editor/helix/pull/4632)) -- Fix `delete_char_backward` for paired characters ([#4558](https://github.com/helix-editor/helix/pull/4558)) -- Fix crash from two windows editing the same document ([#4570](https://github.com/helix-editor/helix/pull/4570)) -- Fix pasting from the blackhole register ([#4497](https://github.com/helix-editor/helix/pull/4497)) -- Support LSP insertReplace completion items ([1312682](https://github.com/helix-editor/helix/commit/1312682)) -- Dynamically resize the line number gutter width ([#3469](https://github.com/helix-editor/helix/pull/3469)) -- Fix crash for unknown completion item kinds ([#4658](https://github.com/helix-editor/helix/pull/4658)) -- Re-enable `format_selections` for single selection ranges ([d4f5cab](https://github.com/helix-editor/helix/commit/d4f5cab)) -- Limit the number of in-progress tree-sitter query matches ([#4707](https://github.com/helix-editor/helix/pull/4707), [#4830](https://github.com/helix-editor/helix/pull/4830)) -- Use the special `#` register with `increment`/`decrement` to change by range number ([#4418](https://github.com/helix-editor/helix/pull/4418)) -- Add a statusline element to show number of selected chars ([#4682](https://github.com/helix-editor/helix/pull/4682)) -- Add a statusline element showing global LSP diagnostic warning and error counts ([#4569](https://github.com/helix-editor/helix/pull/4569)) -- Add a scrollbar to popups ([#4449](https://github.com/helix-editor/helix/pull/4449)) -- Prefer shorter matches in fuzzy matcher scoring ([#4698](https://github.com/helix-editor/helix/pull/4698)) -- Use key-sequence format for command palette keybinds ([#4712](https://github.com/helix-editor/helix/pull/4712)) -- Remove prefix filtering from autocompletion menu ([#4578](https://github.com/helix-editor/helix/pull/4578)) -- Focus on the parent buffer when closing a split ([#4766](https://github.com/helix-editor/helix/pull/4766)) -- Handle language server termination ([#4797](https://github.com/helix-editor/helix/pull/4797), [#4852](https://github.com/helix-editor/helix/pull/4852)) -- Allow `r`/`t`/`f` to work on tab characters ([#4817](https://github.com/helix-editor/helix/pull/4817)) -- Show a preview for scratch buffers in the buffer picker ([#3454](https://github.com/helix-editor/helix/pull/3454)) -- Set a limit of entries in the jumplist ([#4750](https://github.com/helix-editor/helix/pull/4750)) -- Re-use shell outputs when inserting or appending shell output ([#3465](https://github.com/helix-editor/helix/pull/3465)) -- Check LSP server provider capabilities ([#3554](https://github.com/helix-editor/helix/pull/3554)) -- Improve tree-sitter parsing performance on files with many language layers ([#4716](https://github.com/helix-editor/helix/pull/4716)) -- Move indentation to the next line when using `<ret>` on a line with only whitespace ([#4854](https://github.com/helix-editor/helix/pull/4854)) -- Remove selections for closed views from all documents ([#4888](https://github.com/helix-editor/helix/pull/4888)) -- Improve performance of the `:reload` command ([#4457](https://github.com/helix-editor/helix/pull/4457)) -- Properly handle media keys ([#4887](https://github.com/helix-editor/helix/pull/4887)) -- Support LSP diagnostic data field ([#4935](https://github.com/helix-editor/helix/pull/4935)) -- Handle C-i keycode as tab ([#4961](https://github.com/helix-editor/helix/pull/4961)) -- Fix view alignment for jumplist picker jumps ([#3743](https://github.com/helix-editor/helix/pull/3743)) -- Use OSC52 for tmux clipboard provider ([#5027](https://github.com/helix-editor/helix/pull/5027)) - -Themes: - -- Add `varua` ([#3610](https://github.com/helix-editor/helix/pull/3610), [#4964](https://github.com/helix-editor/helix/pull/4964)) -- Update `boo_berry` ([#3653](https://github.com/helix-editor/helix/pull/3653)) -- Add `rasmus` ([#3728](https://github.com/helix-editor/helix/pull/3728)) -- Add `papercolor_dark` ([#3742](https://github.com/helix-editor/helix/pull/3742)) -- Update `monokai_pro_spectrum` ([#3814](https://github.com/helix-editor/helix/pull/3814)) -- Update `nord` ([#3792](https://github.com/helix-editor/helix/pull/3792)) -- Update `fleetish` ([#3844](https://github.com/helix-editor/helix/pull/3844), [#4487](https://github.com/helix-editor/helix/pull/4487), [#4813](https://github.com/helix-editor/helix/pull/4813)) -- Update `flatwhite` ([#3843](https://github.com/helix-editor/helix/pull/3843)) -- Add `darcula` ([#3739](https://github.com/helix-editor/helix/pull/3739)) -- Update `papercolor` ([#3938](https://github.com/helix-editor/helix/pull/3938), [#4317](https://github.com/helix-editor/helix/pull/4317)) -- Add bufferline colors to multiple themes ([#3881](https://github.com/helix-editor/helix/pull/3881)) -- Add `gruvbox_dark_hard` ([#3948](https://github.com/helix-editor/helix/pull/3948)) -- Add `onedarker` ([#3980](https://github.com/helix-editor/helix/pull/3980), [#4060](https://github.com/helix-editor/helix/pull/4060)) -- Add `dark_high_contrast` ([#3312](https://github.com/helix-editor/helix/pull/3312)) -- Update `bogster` ([#4121](https://github.com/helix-editor/helix/pull/4121), [#4264](https://github.com/helix-editor/helix/pull/4264)) -- Update `sonokai` ([#4089](https://github.com/helix-editor/helix/pull/4089)) -- Update `ayu_*` themes ([#4140](https://github.com/helix-editor/helix/pull/4140), [#4109](https://github.com/helix-editor/helix/pull/4109), [#4662](https://github.com/helix-editor/helix/pull/4662), [#4764](https://github.com/helix-editor/helix/pull/4764)) -- Update `everforest` ([#3998](https://github.com/helix-editor/helix/pull/3998)) -- Update `monokai_pro_octagon` ([#4247](https://github.com/helix-editor/helix/pull/4247)) -- Add `heisenberg` ([#4209](https://github.com/helix-editor/helix/pull/4209)) -- Add `bogster_light` ([#4265](https://github.com/helix-editor/helix/pull/4265)) -- Update `pop-dark` ([#4323](https://github.com/helix-editor/helix/pull/4323)) -- Update `rose_pine` ([#4221](https://github.com/helix-editor/helix/pull/4221)) -- Add `kanagawa` ([#4300](https://github.com/helix-editor/helix/pull/4300)) -- Add `hex_steel`, `hex_toxic` and `hex_lavender` ([#4367](https://github.com/helix-editor/helix/pull/4367), [#4990](https://github.com/helix-editor/helix/pull/4990)) -- Update `tokyonight` and `tokyonight_storm` ([#4415](https://github.com/helix-editor/helix/pull/4415)) -- Update `gruvbox` ([#4626](https://github.com/helix-editor/helix/pull/4626)) -- Update `dark_plus` ([#4661](https://github.com/helix-editor/helix/pull/4661), [#4678](https://github.com/helix-editor/helix/pull/4678)) -- Add `zenburn` ([#4613](https://github.com/helix-editor/helix/pull/4613), [#4977](https://github.com/helix-editor/helix/pull/4977)) -- Update `monokai_pro` ([#4789](https://github.com/helix-editor/helix/pull/4789)) -- Add `mellow` ([#4770](https://github.com/helix-editor/helix/pull/4770)) -- Add `nightfox` ([#4769](https://github.com/helix-editor/helix/pull/4769), [#4966](https://github.com/helix-editor/helix/pull/4966)) -- Update `doom_acario_dark` ([#4979](https://github.com/helix-editor/helix/pull/4979)) -- Update `autumn` ([#4996](https://github.com/helix-editor/helix/pull/4996)) -- Update `acme` ([#4999](https://github.com/helix-editor/helix/pull/4999)) -- Update `nord_light` ([#4999](https://github.com/helix-editor/helix/pull/4999)) -- Update `serika_*` ([#5015](https://github.com/helix-editor/helix/pull/5015)) - -LSP configurations: - -- Switch to `openscad-lsp` for OpenScad ([#3750](https://github.com/helix-editor/helix/pull/3750)) -- Support Jsonnet ([#3748](https://github.com/helix-editor/helix/pull/3748)) -- Support Markdown ([#3499](https://github.com/helix-editor/helix/pull/3499)) -- Support Bass ([#3771](https://github.com/helix-editor/helix/pull/3771)) -- Set roots configuration for Elixir and HEEx ([#3917](https://github.com/helix-editor/helix/pull/3917), [#3959](https://github.com/helix-editor/helix/pull/3959)) -- Support Purescript ([#4242](https://github.com/helix-editor/helix/pull/4242)) -- Set roots configuration for Julia ([#4361](https://github.com/helix-editor/helix/pull/4361)) -- Support D ([#4372](https://github.com/helix-editor/helix/pull/4372)) -- Increase default language server timeout for Julia ([#4575](https://github.com/helix-editor/helix/pull/4575)) -- Use ElixirLS for HEEx ([#4679](https://github.com/helix-editor/helix/pull/4679)) -- Support Bicep ([#4403](https://github.com/helix-editor/helix/pull/4403)) -- Switch to `nil` for Nix ([433ccef](https://github.com/helix-editor/helix/commit/433ccef)) -- Support QML ([#4842](https://github.com/helix-editor/helix/pull/4842)) -- Enable auto-format for CSS ([#4987](https://github.com/helix-editor/helix/pull/4987)) -- Support CommonLisp ([4176769](https://github.com/helix-editor/helix/commit/4176769)) - -New languages: - -- SML ([#3692](https://github.com/helix-editor/helix/pull/3692)) -- Jsonnet ([#3714](https://github.com/helix-editor/helix/pull/3714)) -- Godot resource ([#3759](https://github.com/helix-editor/helix/pull/3759)) -- Astro ([#3829](https://github.com/helix-editor/helix/pull/3829)) -- SSH config ([#2455](https://github.com/helix-editor/helix/pull/2455), [#4538](https://github.com/helix-editor/helix/pull/4538)) -- Bass ([#3771](https://github.com/helix-editor/helix/pull/3771)) -- WAT (WebAssembly text format) ([#4040](https://github.com/helix-editor/helix/pull/4040), [#4542](https://github.com/helix-editor/helix/pull/4542)) -- Purescript ([#4242](https://github.com/helix-editor/helix/pull/4242)) -- D ([#4372](https://github.com/helix-editor/helix/pull/4372), [#4562](https://github.com/helix-editor/helix/pull/4562)) -- VHS ([#4486](https://github.com/helix-editor/helix/pull/4486)) -- KDL ([#4481](https://github.com/helix-editor/helix/pull/4481)) -- XML ([#4518](https://github.com/helix-editor/helix/pull/4518)) -- WIT ([#4525](https://github.com/helix-editor/helix/pull/4525)) -- ENV ([#4536](https://github.com/helix-editor/helix/pull/4536)) -- INI ([#4538](https://github.com/helix-editor/helix/pull/4538)) -- Bicep ([#4403](https://github.com/helix-editor/helix/pull/4403), [#4751](https://github.com/helix-editor/helix/pull/4751)) -- QML ([#4842](https://github.com/helix-editor/helix/pull/4842)) -- CommonLisp ([4176769](https://github.com/helix-editor/helix/commit/4176769)) - -Updated languages and queries: - -- Zig ([#3621](https://github.com/helix-editor/helix/pull/3621), [#4745](https://github.com/helix-editor/helix/pull/4745)) -- Rust ([#3647](https://github.com/helix-editor/helix/pull/3647), [#3729](https://github.com/helix-editor/helix/pull/3729), [#3927](https://github.com/helix-editor/helix/pull/3927), [#4073](https://github.com/helix-editor/helix/pull/4073), [#4510](https://github.com/helix-editor/helix/pull/4510), [#4659](https://github.com/helix-editor/helix/pull/4659), [#4717](https://github.com/helix-editor/helix/pull/4717)) -- Solidity ([20ed8c2](https://github.com/helix-editor/helix/commit/20ed8c2)) -- Fish ([#3704](https://github.com/helix-editor/helix/pull/3704)) -- Elixir ([#3645](https://github.com/helix-editor/helix/pull/3645), [#4333](https://github.com/helix-editor/helix/pull/4333), [#4821](https://github.com/helix-editor/helix/pull/4821)) -- Diff ([#3708](https://github.com/helix-editor/helix/pull/3708)) -- Nix ([665e27f](https://github.com/helix-editor/helix/commit/665e27f), [1fe3273](https://github.com/helix-editor/helix/commit/1fe3273)) -- Markdown ([#3749](https://github.com/helix-editor/helix/pull/3749), [#4078](https://github.com/helix-editor/helix/pull/4078), [#4483](https://github.com/helix-editor/helix/pull/4483), [#4478](https://github.com/helix-editor/helix/pull/4478)) -- GDScript ([#3760](https://github.com/helix-editor/helix/pull/3760)) -- JSX and TSX ([#3853](https://github.com/helix-editor/helix/pull/3853), [#3973](https://github.com/helix-editor/helix/pull/3973)) -- Ruby ([#3976](https://github.com/helix-editor/helix/pull/3976), [#4601](https://github.com/helix-editor/helix/pull/4601)) -- R ([#4031](https://github.com/helix-editor/helix/pull/4031)) -- WGSL ([#3996](https://github.com/helix-editor/helix/pull/3996), [#4079](https://github.com/helix-editor/helix/pull/4079)) -- C# ([#4118](https://github.com/helix-editor/helix/pull/4118), [#4281](https://github.com/helix-editor/helix/pull/4281), [#4213](https://github.com/helix-editor/helix/pull/4213)) -- Twig ([#4176](https://github.com/helix-editor/helix/pull/4176)) -- Lua ([#3552](https://github.com/helix-editor/helix/pull/3552)) -- C/C++ ([#4079](https://github.com/helix-editor/helix/pull/4079), [#4278](https://github.com/helix-editor/helix/pull/4278), [#4282](https://github.com/helix-editor/helix/pull/4282)) -- Cairo ([17488f1](https://github.com/helix-editor/helix/commit/17488f1), [431f9c1](https://github.com/helix-editor/helix/commit/431f9c1), [09a6df1](https://github.com/helix-editor/helix/commit/09a6df1)) -- Rescript ([#4356](https://github.com/helix-editor/helix/pull/4356)) -- Zig ([#4409](https://github.com/helix-editor/helix/pull/4409)) -- Scala ([#4353](https://github.com/helix-editor/helix/pull/4353), [#4697](https://github.com/helix-editor/helix/pull/4697), [#4701](https://github.com/helix-editor/helix/pull/4701)) -- LaTeX ([#4528](https://github.com/helix-editor/helix/pull/4528), [#4922](https://github.com/helix-editor/helix/pull/4922)) -- SQL ([#4529](https://github.com/helix-editor/helix/pull/4529)) -- Python ([#4560](https://github.com/helix-editor/helix/pull/4560)) -- Bash/Zsh ([#4582](https://github.com/helix-editor/helix/pull/4582)) -- Nu ([#4583](https://github.com/helix-editor/helix/pull/4583)) -- Julia ([#4588](https://github.com/helix-editor/helix/pull/4588)) -- Typescript ([#4703](https://github.com/helix-editor/helix/pull/4703)) -- Meson ([#4572](https://github.com/helix-editor/helix/pull/4572)) -- Haskell ([#4800](https://github.com/helix-editor/helix/pull/4800)) -- CMake ([#4809](https://github.com/helix-editor/helix/pull/4809)) -- HTML ([#4829](https://github.com/helix-editor/helix/pull/4829), [#4881](https://github.com/helix-editor/helix/pull/4881)) -- Java ([#4886](https://github.com/helix-editor/helix/pull/4886)) -- Go ([#4906](https://github.com/helix-editor/helix/pull/4906), [#4969](https://github.com/helix-editor/helix/pull/4969), [#5010](https://github.com/helix-editor/helix/pull/5010)) -- CSS ([#4882](https://github.com/helix-editor/helix/pull/4882)) -- Racket ([#4915](https://github.com/helix-editor/helix/pull/4915)) -- SCSS ([#5003](https://github.com/helix-editor/helix/pull/5003)) - -Packaging: - -- Filter relevant source files in the Nix flake ([#3657](https://github.com/helix-editor/helix/pull/3657)) -- Build a binary for `aarch64-linux` in the release CI ([038a91d](https://github.com/helix-editor/helix/commit/038a91d)) -- Build an AppImage for `aarch64-linux` in the release CI ([b738031](https://github.com/helix-editor/helix/commit/b738031)) -- Enable CI builds for `riscv64-linux` ([#3685](https://github.com/helix-editor/helix/pull/3685)) -- Support preview releases in CI ([0090a2d](https://github.com/helix-editor/helix/commit/0090a2d)) -- Strip binaries built in CI ([#3780](https://github.com/helix-editor/helix/pull/3780)) -- Fix the development shell for the Nix Flake on `aarch64-darwin` ([#3810](https://github.com/helix-editor/helix/pull/3810)) -- Raise the MSRV and create an MSRV policy ([#3896](https://github.com/helix-editor/helix/pull/3896), [#3913](https://github.com/helix-editor/helix/pull/3913), [#3961](https://github.com/helix-editor/helix/pull/3961)) -- Fix Fish completions for `--config` and `--log` flags ([#3912](https://github.com/helix-editor/helix/pull/3912)) -- Use builtin filenames option in Bash completion ([#4648](https://github.com/helix-editor/helix/pull/4648)) - -# 22.08.1 (2022-09-01) - -This is a patch release that fixes a panic caused by closing splits or buffers. ([#3633](https://github.com/helix-editor/helix/pull/3633)) - -# 22.08 (2022-08-31) - -A big _thank you_ to our contributors! This release had 87 contributors. - -As usual, the following is a summary of each of the changes since the last release. -For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/22.05..22.08). - -Breaking changes: - -- Special keymap names for `+`, `;` and `%` have been replaced with those literal characters ([#2677](https://github.com/helix-editor/helix/pull/2677), [#3556](https://github.com/helix-editor/helix/pull/3556)) -- `A-Left` and `A-Right` have become `C-Left` and `C-Right` for word-wise motion ([#2500](https://github.com/helix-editor/helix/pull/2500)) -- The `catppuccin` theme's name has been corrected from `catpuccin` ([#2713](https://github.com/helix-editor/helix/pull/2713)) -- `catppuccin` has been replaced by its variants, `catppuccin_frappe`, `catppuccin_latte`, `catppuccin_macchiato`, `catppuccin_mocha` ([#3281](https://github.com/helix-editor/helix/pull/3281)) -- `C-n` and `C-p` have been removed from the default insert mode keymap ([#3340](https://github.com/helix-editor/helix/pull/3340)) -- The `extend_line` command has been replaced with `extend_line_below` and a new `extend_line` command now exists ([#3046](https://github.com/helix-editor/helix/pull/3046)) - -Features: - -- Add an integration testing harness ([#2359](https://github.com/helix-editor/helix/pull/2359)) -- Indent guides ([#1796](https://github.com/helix-editor/helix/pull/1796), [906259c](https://github.com/helix-editor/helix/commit/906259c)) -- Cursorline ([#2170](https://github.com/helix-editor/helix/pull/2170), [fde9e03](https://github.com/helix-editor/helix/commit/fde9e03)) -- Select all instances of the symbol under the cursor (`<space>h`) ([#2738](https://github.com/helix-editor/helix/pull/2738)) -- A picker for document and workspace LSP diagnostics (`<space>g`/`<space>G`) ([#2013](https://github.com/helix-editor/helix/pull/2013), [#2984](https://github.com/helix-editor/helix/pull/2984)) -- Allow styling the mode indicator per-mode ([#2676](https://github.com/helix-editor/helix/pull/2676)) -- Live preview for the theme picker ([#1798](https://github.com/helix-editor/helix/pull/1798)) -- Configurable statusline ([#2434](https://github.com/helix-editor/helix/pull/2434)) -- LSP SignatureHelp ([#1755](https://github.com/helix-editor/helix/pull/1755), [a8b123f](https://github.com/helix-editor/helix/commit/a8b123f)) -- A picker for the jumplist ([#3033](https://github.com/helix-editor/helix/pull/3033)) -- Configurable external formatter binaries ([#2942](https://github.com/helix-editor/helix/pull/2942)) -- Bracketed paste support ([#3233](https://github.com/helix-editor/helix/pull/3233), [12ddd03](https://github.com/helix-editor/helix/commit/12ddd03)) - -Commands: - -- `:insert-output` and `:append-output` which insert/append output from a shell command ([#2589](https://github.com/helix-editor/helix/pull/2589)) -- The `t` textobject (`]t`/`[t`/`mit`/`mat`) for navigating tests ([#2807](https://github.com/helix-editor/helix/pull/2807)) -- `C-Backspace` and `C-Delete` for word-wise deletion in prompts and pickers ([#2500](https://github.com/helix-editor/helix/pull/2500)) -- `A-Delete` for forward word-wise deletion in insert mode ([#2500](https://github.com/helix-editor/helix/pull/2500)) -- `C-t` for toggling the preview pane in pickers ([#3021](https://github.com/helix-editor/helix/pull/3021)) -- `extend_line` now extends in the direction of the cursor ([#3046](https://github.com/helix-editor/helix/pull/3046)) - -Usability improvements and fixes: - -- Fix tree-sitter parser builds on illumos ([#2602](https://github.com/helix-editor/helix/pull/2602)) -- Remove empty stratch buffer from jumplists when removing ([5ed6223](https://github.com/helix-editor/helix/commit/5ed6223)) -- Fix panic on undo after `shell_append_output` ([#2625](https://github.com/helix-editor/helix/pull/2625)) -- Sort LSP edits by start range ([3d91c99](https://github.com/helix-editor/helix/commit/3d91c99)) -- Be more defensive about LSP URI conversions ([6de6a3e](https://github.com/helix-editor/helix/commit/6de6a3e), [378f438](https://github.com/helix-editor/helix/commit/378f438)) -- Ignore SendErrors when grammar builds fail ([#2641](https://github.com/helix-editor/helix/pull/2641)) -- Append `set_line_ending` to document history ([#2649](https://github.com/helix-editor/helix/pull/2649)) -- Use last prompt entry when empty ([b14c258](https://github.com/helix-editor/helix/commit/b14c258), [#2870](https://github.com/helix-editor/helix/pull/2870)) -- Do not add extra line breaks in markdown lists ([#2689](https://github.com/helix-editor/helix/pull/2689)) -- Disable dialyzer by default for ElixirLS ([#2710](https://github.com/helix-editor/helix/pull/2710)) -- Refactor textobject node capture ([#2741](https://github.com/helix-editor/helix/pull/2741)) -- Prevent re-selecting the same range with `expand_selection` ([#2760](https://github.com/helix-editor/helix/pull/2760)) -- Introduce `keyword.storage` highlight scope ([#2731](https://github.com/helix-editor/helix/pull/2731)) -- Handle symlinks more consistently ([#2718](https://github.com/helix-editor/helix/pull/2718)) -- Improve markdown list rendering ([#2687](https://github.com/helix-editor/helix/pull/2687)) -- Update auto-pairs and idle-timeout settings when the config is reloaded ([#2736](https://github.com/helix-editor/helix/pull/2736)) -- Fix panic on closing last buffer ([#2658](https://github.com/helix-editor/helix/pull/2658)) -- Prevent modifying jumplist until jumping to a reference ([#2670](https://github.com/helix-editor/helix/pull/2670)) -- Ensure `:quit` and `:quit!` take no arguments ([#2654](https://github.com/helix-editor/helix/pull/2654)) -- Fix crash due to cycles when replaying macros ([#2647](https://github.com/helix-editor/helix/pull/2647)) -- Pass LSP FormattingOptions ([#2635](https://github.com/helix-editor/helix/pull/2635)) -- Prevent showing colors when the health-check is piped ([#2836](https://github.com/helix-editor/helix/pull/2836)) -- Use character indexing for mouse selection ([#2839](https://github.com/helix-editor/helix/pull/2839)) -- Display the highest severity diagnostic for a line in the gutter ([#2835](https://github.com/helix-editor/helix/pull/2835)) -- Default the ruler color to red background ([#2669](https://github.com/helix-editor/helix/pull/2669)) -- Make `move_vertically` aware of tabs and wide characters ([#2620](https://github.com/helix-editor/helix/pull/2620)) -- Enable shellwords for Windows ([#2767](https://github.com/helix-editor/helix/pull/2767)) -- Add history suggestions to global search ([#2717](https://github.com/helix-editor/helix/pull/2717)) -- Fix the scrollbar's length proportional to total menu items ([#2860](https://github.com/helix-editor/helix/pull/2860)) -- Reset terminal modifiers for diagnostic text ([#2861](https://github.com/helix-editor/helix/pull/2861), [#2900](https://github.com/helix-editor/helix/pull/2900)) -- Redetect indents and line-endings after a Language Server replaces the document ([#2778](https://github.com/helix-editor/helix/pull/2778)) -- Check selection's visible width when copying on mouse click ([#2711](https://github.com/helix-editor/helix/pull/2711)) -- Fix edge-case in tree-sitter `expand_selection` command ([#2877](https://github.com/helix-editor/helix/pull/2877)) -- Add a single-width left margin for the completion popup ([#2728](https://github.com/helix-editor/helix/pull/2728)) -- Right-align the scrollbar in the completion popup ([#2754](https://github.com/helix-editor/helix/pull/2754)) -- Fix recursive macro crash and empty macro lockout ([#2902](https://github.com/helix-editor/helix/pull/2902)) -- Fix backwards character deletion on other whitespaces ([#2855](https://github.com/helix-editor/helix/pull/2855)) -- Add search and space/backspace bindings to view modes ([#2803](https://github.com/helix-editor/helix/pull/2803)) -- Add `--vsplit` and `--hsplit` CLI arguments for opening in splits ([#2773](https://github.com/helix-editor/helix/pull/2773), [#3073](https://github.com/helix-editor/helix/pull/3073)) -- Sort themes, languages and files inputs by score and name ([#2675](https://github.com/helix-editor/helix/pull/2675)) -- Highlight entire rows in ([#2939](https://github.com/helix-editor/helix/pull/2939)) -- Fix backwards selection duplication widening bug ([#2945](https://github.com/helix-editor/helix/pull/2945), [#3024](https://github.com/helix-editor/helix/pull/3024)) -- Skip serializing Option type DAP fields ([44f5963](https://github.com/helix-editor/helix/commit/44f5963)) -- Fix required `cwd` field in DAP `RunTerminalArguments` type ([85411be](https://github.com/helix-editor/helix/commit/85411be), [#3240](https://github.com/helix-editor/helix/pull/3240)) -- Add LSP `workspace/applyEdit` to client capabilities ([#3012](https://github.com/helix-editor/helix/pull/3012)) -- Respect count for repeating motion ([#3057](https://github.com/helix-editor/helix/pull/3057)) -- Respect count for selecting next/previous match ([#3056](https://github.com/helix-editor/helix/pull/3056)) -- Respect count for tree-sitter motions ([#3058](https://github.com/helix-editor/helix/pull/3058)) -- Make gutters padding optional ([#2996](https://github.com/helix-editor/helix/pull/2996)) -- Support pre-filling prompts ([#2459](https://github.com/helix-editor/helix/pull/2459), [#3259](https://github.com/helix-editor/helix/pull/3259)) -- Add statusline element to display file line-endings ([#3113](https://github.com/helix-editor/helix/pull/3113)) -- Keep jump and file history when using `:split` ([#3031](https://github.com/helix-editor/helix/pull/3031), [#3160](https://github.com/helix-editor/helix/pull/3160)) -- Make tree-sitter query `; inherits <language>` feature imperative ([#2470](https://github.com/helix-editor/helix/pull/2470)) -- Indent with tabs by default ([#3095](https://github.com/helix-editor/helix/pull/3095)) -- Fix non-msvc grammar compilation on Windows ([#3190](https://github.com/helix-editor/helix/pull/3190)) -- Add spacer element to the statusline ([#3165](https://github.com/helix-editor/helix/pull/3165), [255c173](https://github.com/helix-editor/helix/commit/255c173)) -- Make gutters padding automatic ([#3163](https://github.com/helix-editor/helix/pull/3163)) -- Add `code` for LSP `Diagnostic` type ([#3096](https://github.com/helix-editor/helix/pull/3096)) -- Add position percentage to the statusline ([#3168](https://github.com/helix-editor/helix/pull/3168)) -- Add a configurable and themable statusline separator string ([#3175](https://github.com/helix-editor/helix/pull/3175)) -- Use OR of all selections when `search_selection` acts on multiple selections ([#3138](https://github.com/helix-editor/helix/pull/3138)) -- Add clipboard information to logs and the healthcheck ([#3271](https://github.com/helix-editor/helix/pull/3271)) -- Fix align selection behavior on tabs ([#3276](https://github.com/helix-editor/helix/pull/3276)) -- Fix terminal cursor shape reset ([#3289](https://github.com/helix-editor/helix/pull/3289)) -- Add an `injection.include-unnamed-children` predicate to injections queries ([#3129](https://github.com/helix-editor/helix/pull/3129)) -- Add a `-c`/`--config` CLI flag for specifying config file location ([#2666](https://github.com/helix-editor/helix/pull/2666)) -- Detect indent-style in `:set-language` command ([#3330](https://github.com/helix-editor/helix/pull/3330)) -- Fix non-deterministic highlighting ([#3275](https://github.com/helix-editor/helix/pull/3275)) -- Avoid setting the stdin handle when not necessary ([#3248](https://github.com/helix-editor/helix/pull/3248), [#3379](https://github.com/helix-editor/helix/pull/3379)) -- Fix indent guide styling ([#3324](https://github.com/helix-editor/helix/pull/3324)) -- Fix tab highlight when tab is partially visible ([#3313](https://github.com/helix-editor/helix/pull/3313)) -- Add completion for nested settings ([#3183](https://github.com/helix-editor/helix/pull/3183)) -- Advertise WorkspaceSymbolClientCapabilities LSP client capability ([#3361](https://github.com/helix-editor/helix/pull/3361)) -- Remove duplicate entries from the theme picker ([#3439](https://github.com/helix-editor/helix/pull/3439)) -- Shorted output for grammar fetching and building ([#3396](https://github.com/helix-editor/helix/pull/3396)) -- Add a `tabpad` option for visible tab padding whitespace characters ([#3458](https://github.com/helix-editor/helix/pull/3458)) -- Make DAP external terminal provider configurable ([cb7615e](https://github.com/helix-editor/helix/commit/cb7615e)) -- Use health checkmark character with shorter width ([#3505](https://github.com/helix-editor/helix/pull/3505)) -- Reset document mode to normal on view focus loss ([e4c9d40](https://github.com/helix-editor/helix/commit/e4c9d40)) -- Render indented code-blocks in markdown ([#3503](https://github.com/helix-editor/helix/pull/3503)) -- Add WezTerm to DAP terminal provider defaults ([#3588](https://github.com/helix-editor/helix/pull/3588)) -- Derive `Document` language name from `languages.toml` `name` key ([#3338](https://github.com/helix-editor/helix/pull/3338)) -- Fix process spawning error handling ([#3349](https://github.com/helix-editor/helix/pull/3349)) -- Don't resolve links for `:o` completion ([8a4fbf6](https://github.com/helix-editor/helix/commit/8a4fbf6)) -- Recalculate completion after pasting into prompt ([e77b7d1](https://github.com/helix-editor/helix/commit/e77b7d1)) -- Fix extra selections with regex anchors ([#3598](https://github.com/helix-editor/helix/pull/3598)) -- Move mode transition logic to `handle_keymap_event` ([#2634](https://github.com/helix-editor/helix/pull/2634)) -- Add documents to view history when using the jumplist ([#3593](https://github.com/helix-editor/helix/pull/3593)) -- Prevent panic when loading tree-sitter queries ([fa1dc7e](https://github.com/helix-editor/helix/commit/fa1dc7e)) -- Discard LSP publishDiagnostic when LS is not initialized ([#3403](https://github.com/helix-editor/helix/pull/3403)) -- Refactor tree-sitter textobject motions as repeatable motions ([#3264](https://github.com/helix-editor/helix/pull/3264)) -- Avoid command execution hooks on closed docs ([#3613](https://github.com/helix-editor/helix/pull/3613)) -- Share `restore_term` code between panic and normal exits ([#2612](https://github.com/helix-editor/helix/pull/2612)) -- Show clipboard info in `--health` output ([#2947](https://github.com/helix-editor/helix/pull/2947)) -- Recalculate completion when going through prompt history ([#3193](https://github.com/helix-editor/helix/pull/3193)) - -Themes: - -- Update `tokyonight` and `tokyonight_storm` themes ([#2606](https://github.com/helix-editor/helix/pull/2606)) -- Update `solarized_light` themes ([#2626](https://github.com/helix-editor/helix/pull/2626)) -- Fix `catpuccin` `ui.popup` theme ([#2644](https://github.com/helix-editor/helix/pull/2644)) -- Update selection style of `night_owl` ([#2668](https://github.com/helix-editor/helix/pull/2668)) -- Fix spelling of `catppuccin` theme ([#2713](https://github.com/helix-editor/helix/pull/2713)) -- Update `base16_default`'s `ui.menu` ([#2794](https://github.com/helix-editor/helix/pull/2794)) -- Add `noctis_bordo` ([#2830](https://github.com/helix-editor/helix/pull/2830)) -- Add `acme` ([#2876](https://github.com/helix-editor/helix/pull/2876)) -- Add `meliora` ([#2884](https://github.com/helix-editor/helix/pull/2884), [#2890](https://github.com/helix-editor/helix/pull/2890)) -- Add cursorline scopes to various themes ([33d287a](https://github.com/helix-editor/helix/commit/33d287a), [#2892](https://github.com/helix-editor/helix/pull/2892), [#2915](https://github.com/helix-editor/helix/pull/2915), [#2916](https://github.com/helix-editor/helix/pull/2916), [#2918](https://github.com/helix-editor/helix/pull/2918), [#2927](https://github.com/helix-editor/helix/pull/2927), [#2925](https://github.com/helix-editor/helix/pull/2925), [#2938](https://github.com/helix-editor/helix/pull/2938), [#2962](https://github.com/helix-editor/helix/pull/2962), [#3054](https://github.com/helix-editor/helix/pull/3054)) -- Add mode colors to various themes ([#2926](https://github.com/helix-editor/helix/pull/2926), [#2933](https://github.com/helix-editor/helix/pull/2933), [#2929](https://github.com/helix-editor/helix/pull/2929), [#3098](https://github.com/helix-editor/helix/pull/3098), [#3104](https://github.com/helix-editor/helix/pull/3104), [#3128](https://github.com/helix-editor/helix/pull/3128), [#3135](https://github.com/helix-editor/helix/pull/3135), [#3200](https://github.com/helix-editor/helix/pull/3200)) -- Add `nord_light` ([#2908](https://github.com/helix-editor/helix/pull/2908)) -- Update `night_owl` ([#2929](https://github.com/helix-editor/helix/pull/2929)) -- Update `autumn` ([2e70985](https://github.com/helix-editor/helix/commit/2e70985), [936ed3a](https://github.com/helix-editor/helix/commit/936ed3a)) -- Update `one_dark` ([#3011](https://github.com/helix-editor/helix/pull/3011)) -- Add `noctis` ([#3043](https://github.com/helix-editor/helix/pull/3043), [#3128](https://github.com/helix-editor/helix/pull/3128)) -- Update `boo_berry` ([#3191](https://github.com/helix-editor/helix/pull/3191)) -- Update `monokai` ([#3131](https://github.com/helix-editor/helix/pull/3131)) -- Add `ayu_dark`, `ayu_light`, `ayu_mirage` ([#3184](https://github.com/helix-editor/helix/pull/3184)) -- Update `onelight` ([#3226](https://github.com/helix-editor/helix/pull/3226)) -- Add `base16_transparent` ([#3216](https://github.com/helix-editor/helix/pull/3216), [b565fff](https://github.com/helix-editor/helix/commit/b565fff)) -- Add `flatwhite` ([#3236](https://github.com/helix-editor/helix/pull/3236)) -- Update `dark_plus` ([#3302](https://github.com/helix-editor/helix/pull/3302)) -- Add `doom_acario_dark` ([#3308](https://github.com/helix-editor/helix/pull/3308), [#3539](https://github.com/helix-editor/helix/pull/3539)) -- Add `rose_pine_moon` ([#3229](https://github.com/helix-editor/helix/pull/3229)) -- Update `spacebones_light` ([#3342](https://github.com/helix-editor/helix/pull/3342)) -- Fix typos in themes ([8deaebd](https://github.com/helix-editor/helix/commit/8deaebd), [#3412](https://github.com/helix-editor/helix/pull/3412)) -- Add `emacs` ([#3410](https://github.com/helix-editor/helix/pull/3410)) -- Add `papercolor-light` ([#3426](https://github.com/helix-editor/helix/pull/3426), [#3470](https://github.com/helix-editor/helix/pull/3470), [#3585](https://github.com/helix-editor/helix/pull/3585)) -- Add `penumbra+` ([#3398](https://github.com/helix-editor/helix/pull/3398)) -- Add `fleetish` ([#3591](https://github.com/helix-editor/helix/pull/3591), [#3607](https://github.com/helix-editor/helix/pull/3607)) -- Add `sonokai` ([#3595](https://github.com/helix-editor/helix/pull/3595)) -- Update all themes for theme lints ([#3587](https://github.com/helix-editor/helix/pull/3587)) - -LSP: - -- V ([#2526](https://github.com/helix-editor/helix/pull/2526)) -- Prisma ([#2703](https://github.com/helix-editor/helix/pull/2703)) -- Clojure ([#2780](https://github.com/helix-editor/helix/pull/2780)) -- WGSL ([#2872](https://github.com/helix-editor/helix/pull/2872)) -- Elvish ([#2948](https://github.com/helix-editor/helix/pull/2948)) -- Idris ([#2971](https://github.com/helix-editor/helix/pull/2971)) -- Fortran ([#3025](https://github.com/helix-editor/helix/pull/3025)) -- Gleam ([#3139](https://github.com/helix-editor/helix/pull/3139)) -- Odin ([#3214](https://github.com/helix-editor/helix/pull/3214)) - -New languages: - -- V ([#2526](https://github.com/helix-editor/helix/pull/2526)) -- EDoc ([#2640](https://github.com/helix-editor/helix/pull/2640)) -- JSDoc ([#2650](https://github.com/helix-editor/helix/pull/2650)) -- OpenSCAD ([#2680](https://github.com/helix-editor/helix/pull/2680)) -- Prisma ([#2703](https://github.com/helix-editor/helix/pull/2703)) -- Clojure ([#2780](https://github.com/helix-editor/helix/pull/2780)) -- Starlark ([#2903](https://github.com/helix-editor/helix/pull/2903)) -- Elvish ([#2948](https://github.com/helix-editor/helix/pull/2948)) -- Fortran ([#3025](https://github.com/helix-editor/helix/pull/3025)) -- Ungrammar ([#3048](https://github.com/helix-editor/helix/pull/3048)) -- SCSS ([#3074](https://github.com/helix-editor/helix/pull/3074)) -- Go Template ([#3091](https://github.com/helix-editor/helix/pull/3091)) -- Graphviz dot ([#3241](https://github.com/helix-editor/helix/pull/3241)) -- Cue ([#3262](https://github.com/helix-editor/helix/pull/3262)) -- Slint ([#3355](https://github.com/helix-editor/helix/pull/3355)) -- Beancount ([#3297](https://github.com/helix-editor/helix/pull/3297)) -- Taskwarrior ([#3468](https://github.com/helix-editor/helix/pull/3468)) -- xit ([#3521](https://github.com/helix-editor/helix/pull/3521)) -- ESDL ([#3526](https://github.com/helix-editor/helix/pull/3526)) -- Awk ([#3528](https://github.com/helix-editor/helix/pull/3528), [#3535](https://github.com/helix-editor/helix/pull/3535)) -- Pascal ([#3542](https://github.com/helix-editor/helix/pull/3542)) - -Updated languages and queries: - -- Nix ([#2472](https://github.com/helix-editor/helix/pull/2472)) -- Elixir ([#2619](https://github.com/helix-editor/helix/pull/2619)) -- CPON ([#2643](https://github.com/helix-editor/helix/pull/2643)) -- Textobjects queries for Erlang, Elixir, Gleam ([#2661](https://github.com/helix-editor/helix/pull/2661)) -- Capture rust closures as function textobjects ([4a27e2d](https://github.com/helix-editor/helix/commit/4a27e2d)) -- Heex ([#2800](https://github.com/helix-editor/helix/pull/2800), [#3170](https://github.com/helix-editor/helix/pull/3170)) -- Add `<<=` operator highlighting for Rust ([#2805](https://github.com/helix-editor/helix/pull/2805)) -- Fix comment injection in JavaScript/TypeScript ([#2763](https://github.com/helix-editor/helix/pull/2763)) -- Nickel ([#2859](https://github.com/helix-editor/helix/pull/2859)) -- Add `Rakefile` and `Gemfile` to Ruby file-types ([#2875](https://github.com/helix-editor/helix/pull/2875)) -- Erlang ([#2910](https://github.com/helix-editor/helix/pull/2910), [ac669ad](https://github.com/helix-editor/helix/commit/ac669ad)) -- Markdown ([#2910](https://github.com/helix-editor/helix/pull/2910), [#3108](https://github.com/helix-editor/helix/pull/3108), [#3400](https://github.com/helix-editor/helix/pull/3400)) -- Bash ([#2910](https://github.com/helix-editor/helix/pull/2910)) -- Rust ([#2910](https://github.com/helix-editor/helix/pull/2910), [#3397](https://github.com/helix-editor/helix/pull/3397)) -- Edoc ([#2910](https://github.com/helix-editor/helix/pull/2910)) -- HTML ([#2910](https://github.com/helix-editor/helix/pull/2910)) -- Make ([#2910](https://github.com/helix-editor/helix/pull/2910)) -- TSQ ([#2910](https://github.com/helix-editor/helix/pull/2910), [#2960](https://github.com/helix-editor/helix/pull/2960)) -- git-commit ([#2910](https://github.com/helix-editor/helix/pull/2910)) -- Use default fallback for Python indents ([9ae70cc](https://github.com/helix-editor/helix/commit/9ae70cc)) -- Add Haskell LSP roots ([#2954](https://github.com/helix-editor/helix/pull/2954)) -- Ledger ([#2936](https://github.com/helix-editor/helix/pull/2936), [#2988](https://github.com/helix-editor/helix/pull/2988)) -- Nickel ([#2987](https://github.com/helix-editor/helix/pull/2987)) -- JavaScript/TypeScript ([#2961](https://github.com/helix-editor/helix/pull/2961), [#3219](https://github.com/helix-editor/helix/pull/3219), [#3213](https://github.com/helix-editor/helix/pull/3213), [#3280](https://github.com/helix-editor/helix/pull/3280), [#3301](https://github.com/helix-editor/helix/pull/3301)) -- GLSL ([#3051](https://github.com/helix-editor/helix/pull/3051)) -- Fix locals tracking in Rust ([#3027](https://github.com/helix-editor/helix/pull/3027), [#3212](https://github.com/helix-editor/helix/pull/3212), [#3345](https://github.com/helix-editor/helix/pull/3345)) -- Verilog ([#3158](https://github.com/helix-editor/helix/pull/3158)) -- Ruby ([#3173](https://github.com/helix-editor/helix/pull/3173), [#3527](https://github.com/helix-editor/helix/pull/3527)) -- Svelte ([#3147](https://github.com/helix-editor/helix/pull/3147)) -- Add Elixir and HEEx comment textobjects ([#3179](https://github.com/helix-editor/helix/pull/3179)) -- Python ([#3103](https://github.com/helix-editor/helix/pull/3103), [#3201](https://github.com/helix-editor/helix/pull/3201), [#3284](https://github.com/helix-editor/helix/pull/3284)) -- PHP ([#3317](https://github.com/helix-editor/helix/pull/3317)) -- Latex ([#3370](https://github.com/helix-editor/helix/pull/3370)) -- Clojure ([#3387](https://github.com/helix-editor/helix/pull/3387)) -- Swift ([#3461](https://github.com/helix-editor/helix/pull/3461)) -- C# ([#3480](https://github.com/helix-editor/helix/pull/3480), [#3494](https://github.com/helix-editor/helix/pull/3494)) -- Org ([#3489](https://github.com/helix-editor/helix/pull/3489)) -- Elm ([#3497](https://github.com/helix-editor/helix/pull/3497)) -- Dart ([#3419](https://github.com/helix-editor/helix/pull/3419)) -- Julia ([#3507](https://github.com/helix-editor/helix/pull/3507)) -- Fix Rust textobjects ([#3590](https://github.com/helix-editor/helix/pull/3590)) -- C ([00d88e5](https://github.com/helix-editor/helix/commit/00d88e5)) -- Update Rust ([0ef0ef9](https://github.com/helix-editor/helix/commit/0ef0ef9)) - -Packaging: - -- Add `rust-analyzer` to Nix flake devShell ([#2739](https://github.com/helix-editor/helix/pull/2739)) -- Add cachix information to the Nix flake ([#2999](https://github.com/helix-editor/helix/pull/2999)) -- Pass makeWrapperArgs to wrapProgram in the Nix flake ([#3003](https://github.com/helix-editor/helix/pull/3003)) -- Add a way to override which grammars are built by Nix ([#3141](https://github.com/helix-editor/helix/pull/3141)) -- Add a GitHub actions release for `aarch64-macos` ([#3137](https://github.com/helix-editor/helix/pull/3137)) -- Add shell auto-completions for Elvish ([#3331](https://github.com/helix-editor/helix/pull/3331)) - -# 22.05 (2022-05-28) - -An even bigger shout out than usual to all the contributors - we had a whopping -110 contributors in this release! That's more than double the number of -contributors as last release! - -Check out some of the highlights in the [news section](https://helix-editor.com/news/release-22-05-highlights/). - -As usual, the following is a summary of each of the changes since the last release. -For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/22.03..22.05). - -Breaking Changes: - -- Removed `C-j`, `C-k` bindings from file picker ([#1792](https://github.com/helix-editor/helix/pull/1792)) -- Replaced `C-f` with `C-d` and `C-b` with `C-u` bindings in file picker ([#1792](https://github.com/helix-editor/helix/pull/1792)) -- `A-hjkl` bindings have been moved to `A-pion` ([#2205](https://github.com/helix-editor/helix/pull/2205)) -- `A-Left`/`A-Right` have been moved to `C-Left`/`C-Right` ([#2193](https://github.com/helix-editor/helix/pull/2193)) - -Features: - -- The indentation mechanism has been reworked ([#1562](https://github.com/helix-editor/helix/pull/1562), [#1908](https://github.com/helix-editor/helix/pull/1908)) -- Configurable gutters ([#1967](https://github.com/helix-editor/helix/pull/1967)) -- Support for local language configuration ([#1249](https://github.com/helix-editor/helix/pull/1249)) -- Configurable themed rulers ([#2060](https://github.com/helix-editor/helix/pull/2060)) -- Render visible whitespace ([e6b865e](https://github.com/helix-editor/helix/commit/e6b865e), [#2322](https://github.com/helix-editor/helix/pull/2322), [#2331](https://github.com/helix-editor/helix/pull/2331)) - -Commands: - -- Paragraph motion and textobject (`]p`, `[p`) ([#1627](https://github.com/helix-editor/helix/pull/1627), [#1956](https://github.com/helix-editor/helix/pull/1956), [#1969](https://github.com/helix-editor/helix/pull/1969), [#1992](https://github.com/helix-editor/helix/pull/1992), [#2226](https://github.com/helix-editor/helix/pull/2226)) -- `:buffer-next`, `:buffer-previous` ([#1940](https://github.com/helix-editor/helix/pull/1940)) -- `:set-language` to set the buffers language ([#1866](https://github.com/helix-editor/helix/pull/1866), [#1996](https://github.com/helix-editor/helix/pull/1996)) -- Command for picking files from the current working directory (`Space-F`) ([#1600](https://github.com/helix-editor/helix/pull/1600), [#2308](https://github.com/helix-editor/helix/pull/2308)) -- `:write!` which creates non-existent subdirectories ([#1839](https://github.com/helix-editor/helix/pull/1839)) -- Add `m` textobject that selects closest surrounding pair ([de15d70](https://github.com/helix-editor/helix/commit/de15d70), [76175db](https://github.com/helix-editor/helix/commit/76175db)) -- `:pipe` typable command for piping selections ([#1972](https://github.com/helix-editor/helix/pull/1972)) -- `extend_line_above` which extends to previous lines ([#2117](https://github.com/helix-editor/helix/pull/2117)) -- `set_line_ending` which replaces line endings ([#1871](https://github.com/helix-editor/helix/pull/1871)) -- `:get-option` for getting the current value of an option (`:get`) ([#2231](https://github.com/helix-editor/helix/pull/2231)) -- `:run-shell-command` which does not interact with selections ([#1682](https://github.com/helix-editor/helix/pull/1682)) -- `:reflow` which hard-wraps selected text ([#2128](https://github.com/helix-editor/helix/pull/2128)) -- `commit_undo_checkpoint` which adds an undo checkpoint ([#2115](https://github.com/helix-editor/helix/pull/2115)) -- `:log-open` which opens the log file ([#2422](https://github.com/helix-editor/helix/pull/2422)) -- `transpose_view` which transposes window splits ([#2461](https://github.com/helix-editor/helix/pull/2461)) -- View-swapping: `swap_view_right`, `swap_view_left`, `swap_view_up`, `swap_view_down` ([#2445](https://github.com/helix-editor/helix/pull/2445)) -- `shrink_to_line_bounds` which shrinks selections to line-bounds ([#2450](https://github.com/helix-editor/helix/pull/2450)) - -Usability improvements and fixes: - -- Handle broken pipes when piping `hx --health` through `head` ([#1876](https://github.com/helix-editor/helix/pull/1876)) -- Fix for `copy_selection` on newlines ([ab7885e](https://github.com/helix-editor/helix/commit/ab7885e), [236c6b7](https://github.com/helix-editor/helix/commit/236c6b7)) -- Use `win32yank` clipboard provider on WSL2 ([#1912](https://github.com/helix-editor/helix/pull/1912)) -- Jump to the next number on the line before incrementing ([#1778](https://github.com/helix-editor/helix/pull/1778)) -- Fix start position of next search ([#1904](https://github.com/helix-editor/helix/pull/1904)) -- Use check and X marks for health check output ([#1918](https://github.com/helix-editor/helix/pull/1918)) -- Clear terminal after switching to alternate screens ([#1944](https://github.com/helix-editor/helix/pull/1944)) -- Fix `toggle_comments` command on multiple selections ([#1882](https://github.com/helix-editor/helix/pull/1882)) -- Apply `ui.gutter` theming to empty gutter spans ([#2032](https://github.com/helix-editor/helix/pull/2032)) -- Use checkboxes in `hx --health` output ([#1947](https://github.com/helix-editor/helix/pull/1947)) -- Pass unmapped keys through prompt regardless of modifiers ([764adbd](https://github.com/helix-editor/helix/commit/764adbd)) -- LSP: pull formatting options from config ([c18de0e](https://github.com/helix-editor/helix/commit/c18de0e)) -- LSP: provide `rootPath` ([84e799f](https://github.com/helix-editor/helix/commit/84e799f)) -- LSP: implement `workspace_folders` ([8adf0c1](https://github.com/helix-editor/helix/commit/8adf0c1)) -- LSP: fix auto-import ([#2088](https://github.com/helix-editor/helix/pull/2088)) -- Send active diagnostic to LSP when requesting code actions ([#2005](https://github.com/helix-editor/helix/pull/2005)) -- Prevent panic when parsing malformed LSP `PublishDiagnostic` ([#2160](https://github.com/helix-editor/helix/pull/2160)) -- Restore document state on completion cancel ([#2096](https://github.com/helix-editor/helix/pull/2096)) -- Only merge top-level array when merging `languages.toml` ([#2145](https://github.com/helix-editor/helix/pull/2145), [#2215](https://github.com/helix-editor/helix/pull/2215)) -- Fix open on multiline selection ([#2161](https://github.com/helix-editor/helix/pull/2161)) -- Allow re-binding `0` if it is not used in a count ([#2174](https://github.com/helix-editor/helix/pull/2174)) -- Fix `ctrl-u` behavior in insert mode ([#1957](https://github.com/helix-editor/helix/pull/1957)) -- Check LSP rename capabilities before sending rename action ([#2203](https://github.com/helix-editor/helix/pull/2203)) -- Register the `publish_diagnostics` LSP capability ([#2241](https://github.com/helix-editor/helix/pull/2241)) -- Fix paste direction for typed paste commands ([#2288](https://github.com/helix-editor/helix/pull/2288)) -- Improve handling of buffer-close ([#1397](https://github.com/helix-editor/helix/pull/1397)) -- Extend the tutor file ([#2133](https://github.com/helix-editor/helix/pull/2133)) -- Treat slashes as word separators in prompts ([#2315](https://github.com/helix-editor/helix/pull/2315)) -- Auto-complete directory members ([#1682](https://github.com/helix-editor/helix/pull/1682)) -- Allow disabling format-on-save as a global editor setting ([#2321](https://github.com/helix-editor/helix/pull/2321)) -- Wrap command palette in overlay ([#2378](https://github.com/helix-editor/helix/pull/2378)) -- Prevent selections from collapsing when inserting newlines ([#2414](https://github.com/helix-editor/helix/pull/2414)) -- Allow configuration of LSP request timeout ([#2405](https://github.com/helix-editor/helix/pull/2405)) -- Use debug console on Windows for DAP terminal ([#2294](https://github.com/helix-editor/helix/pull/2294)) -- Exclude cursor when deleting with `C-w` in insert mode ([#2431](https://github.com/helix-editor/helix/pull/2431)) -- Prevent panics from LSP parsing errors ([7ae6cad](https://github.com/helix-editor/helix/commit/7ae6cad)) -- Prevent panics from LSP responses without requests ([#2475](https://github.com/helix-editor/helix/pull/2475)) -- Fix scroll rate for documentation popups ([#2497](https://github.com/helix-editor/helix/pull/2497)) -- Support inserting into prompts from registers ([#2458](https://github.com/helix-editor/helix/pull/2458)) -- Separate theme scopes for diagnostic types ([#2437](https://github.com/helix-editor/helix/pull/2437)) -- Use `ui.menu` instead of `ui.statusline` for command completion menu theming ([82fb217](https://github.com/helix-editor/helix/commit/82fb217)) -- Panic when reloading a shrunk file ([#2506](https://github.com/helix-editor/helix/pull/2506)) -- Add theme key for picker separator ([#2523](https://github.com/helix-editor/helix/pull/2523)) - -Themes: - -- Remove `ui.text` background from dark_plus ([#1950](https://github.com/helix-editor/helix/pull/1950)) -- Add `boo_berry` ([#1962](https://github.com/helix-editor/helix/pull/1962)) -- Update `dark_plus` markup colors ([#1989](https://github.com/helix-editor/helix/pull/1989)) -- Update `dark_plus` `tag` and `ui.menu.selected` colors ([#2014](https://github.com/helix-editor/helix/pull/2014)) -- Add `dracula_at_night` ([#2008](https://github.com/helix-editor/helix/pull/2008)) -- Improve `dracula` selection theming ([#2077](https://github.com/helix-editor/helix/pull/2077)) -- Remove dim attribute on `onedark` line-number gutter ([#2155](https://github.com/helix-editor/helix/pull/2155)) -- Add `tokyonight` ([#2162](https://github.com/helix-editor/helix/pull/2162)) -- Use border colors from the original `dark_plus` theme ([#2186](https://github.com/helix-editor/helix/pull/2186)) -- Add `autumn` ([#2212](https://github.com/helix-editor/helix/pull/2212), [#2270](https://github.com/helix-editor/helix/pull/2270), [#2531](https://github.com/helix-editor/helix/pull/2531)) -- Add `tokyonight_storm` ([#2240](https://github.com/helix-editor/helix/pull/2240)) -- Add `pop-dark` ([#2189](https://github.com/helix-editor/helix/pull/2189)) -- Fix `base16_terminal` theme using incorrect ansi-color ([#2279](https://github.com/helix-editor/helix/pull/2279)) -- Add `onelight` ([#2287](https://github.com/helix-editor/helix/pull/2287), [#2323](https://github.com/helix-editor/helix/pull/2323)) -- Add `ui.virtual` scopes to `onedark` theme ([3626e38](https://github.com/helix-editor/helix/commit/3626e38)) -- Add `night_owl` ([#2330](https://github.com/helix-editor/helix/pull/2330)) -- Use yellow foreground and red background for `monokai_pro_spectrum` ([#2433](https://github.com/helix-editor/helix/pull/2433)) -- Add `snazzy` ([#2473](https://github.com/helix-editor/helix/pull/2473)) -- Update `dark_plus` constructor color ([8e8d4ba](https://github.com/helix-editor/helix/commit/8e8d4ba)) -- Add `ui.menu` to the default theme ([e7e13dc](https://github.com/helix-editor/helix/commit/e7e13dc)) -- Add `ui.menu` to any themes missing the key ([9be810f](https://github.com/helix-editor/helix/commit/9be810f)) -- Add `catppuccin` ([#2546](https://github.com/helix-editor/helix/pull/2546), [7160e74](https://github.com/helix-editor/helix/commit/7160e74)) - -LSP: - -- Use texlab for latex ([#1922](https://github.com/helix-editor/helix/pull/1922)) -- HTML ([#2018](https://github.com/helix-editor/helix/pull/2018)) -- JSON ([#2024](https://github.com/helix-editor/helix/pull/2024)) -- CSS ([#2025](https://github.com/helix-editor/helix/pull/2025)) -- PHP ([#2031](https://github.com/helix-editor/helix/pull/2031)) -- Swift ([#2033](https://github.com/helix-editor/helix/pull/2033)) -- OCaml ([#2035](https://github.com/helix-editor/helix/pull/2035)) -- Vue ([#2043](https://github.com/helix-editor/helix/pull/2043)) -- Yaml ([#2234](https://github.com/helix-editor/helix/pull/2234)) -- Vala ([#2243](https://github.com/helix-editor/helix/pull/2243)) -- TOML ([#2302](https://github.com/helix-editor/helix/pull/2302)) -- Java ([#2511](https://github.com/helix-editor/helix/pull/2511)) -- Lua ([#2560](https://github.com/helix-editor/helix/pull/2560)) -- Verilog ([#2552](https://github.com/helix-editor/helix/pull/2552)) - -New Languages: - -- JSX ([#1906](https://github.com/helix-editor/helix/pull/1906), [a24fb17](https://github.com/helix-editor/helix/commit/a24fb17), [855e438](https://github.com/helix-editor/helix/commit/855e438), [#1921](https://github.com/helix-editor/helix/pull/1921)) -- Rust Object Notation (RON) ([#1925](https://github.com/helix-editor/helix/pull/1925)) -- R and R Markdown ([#1998](https://github.com/helix-editor/helix/pull/1998)) -- Swift ([#2033](https://github.com/helix-editor/helix/pull/2033)) -- EJS and ERB ([#2055](https://github.com/helix-editor/helix/pull/2055)) -- EEx ([9d095e0](https://github.com/helix-editor/helix/commit/9d095e0)) -- HEEx ([4836bb3](https://github.com/helix-editor/helix/commit/4836bb3), [#2149](https://github.com/helix-editor/helix/pull/2149)) -- SQL ([#2097](https://github.com/helix-editor/helix/pull/2097)) -- GDScript ([#1985](https://github.com/helix-editor/helix/pull/1985)) -- Nickel ([#2173](https://github.com/helix-editor/helix/pull/2173), [#2320](https://github.com/helix-editor/helix/pull/2320)) -- `go.mod` and `go.work` ([#2197](https://github.com/helix-editor/helix/pull/2197)) -- Nushell ([#2225](https://github.com/helix-editor/helix/pull/2225)) -- Vala ([#2243](https://github.com/helix-editor/helix/pull/2243)) -- Hare ([#2289](https://github.com/helix-editor/helix/pull/2289), [#2480](https://github.com/helix-editor/helix/pull/2480)) -- DeviceTree ([#2329](https://github.com/helix-editor/helix/pull/2329)) -- Cairo ([7387905](https://github.com/helix-editor/helix/commit/7387905)) -- CPON ([#2355](https://github.com/helix-editor/helix/pull/2355), [#2424](https://github.com/helix-editor/helix/pull/2424)) -- git-ignore ([#2397](https://github.com/helix-editor/helix/pull/2397)) -- git-attributes ([#2397](https://github.com/helix-editor/helix/pull/2397)) -- Odin ([#2399](https://github.com/helix-editor/helix/pull/2399), [#2464](https://github.com/helix-editor/helix/pull/2464)) -- Meson ([#2314](https://github.com/helix-editor/helix/pull/2314)) -- SSH Client Config ([#2498](https://github.com/helix-editor/helix/pull/2498)) -- Scheme ([d25bae8](https://github.com/helix-editor/helix/commit/d25bae8)) -- Verilog ([#2552](https://github.com/helix-editor/helix/pull/2552)) - -Updated Languages and Queries: - -- Erlang ([e2a5071](https://github.com/helix-editor/helix/commit/e2a5071), [#2149](https://github.com/helix-editor/helix/pull/2149), [82da9bd](https://github.com/helix-editor/helix/commit/82da9bd)) -- Elixir ([1819478](https://github.com/helix-editor/helix/commit/1819478), [8c3c901](https://github.com/helix-editor/helix/commit/8c3c901), [4ac94a5](https://github.com/helix-editor/helix/commit/4ac94a5)) -- Gleam ([7cd6050](https://github.com/helix-editor/helix/commit/7cd6050), [45dd540](https://github.com/helix-editor/helix/commit/45dd540)) -- Bash ([#1917](https://github.com/helix-editor/helix/pull/1917)) -- JavaScript ([#2140](https://github.com/helix-editor/helix/pull/2140)) -- Ruby textobject queries ([#2143](https://github.com/helix-editor/helix/pull/2143)) -- Fix Golang textobject queries ([#2153](https://github.com/helix-editor/helix/pull/2153)) -- Add more bash and HCL file extensions ([#2201](https://github.com/helix-editor/helix/pull/2201)) -- Divide HCL and tfvars into separate languages ([#2244](https://github.com/helix-editor/helix/pull/2244)) -- Use JavaScript for `cjs` files ([#2387](https://github.com/helix-editor/helix/pull/2387)) -- Use Perl for `t` files ([#2395](https://github.com/helix-editor/helix/pull/2395)) -- Use `markup.list` scopes for lists ([#2401](https://github.com/helix-editor/helix/pull/2401)) -- Use PHP for `inc` files ([#2440](https://github.com/helix-editor/helix/pull/2440)) -- Improve Rust textobjects ([#2494](https://github.com/helix-editor/helix/pull/2494), [10463fe](https://github.com/helix-editor/helix/commit/10463fe)) -- Python ([#2451](https://github.com/helix-editor/helix/pull/2451)) - -Packaging: - -- Use `builtins.fromTOML` in Nix Flake on Nix 2.6+ ([#1892](https://github.com/helix-editor/helix/pull/1892)) -- Shell auto-completion files are now available ([#2022](https://github.com/helix-editor/helix/pull/2022)) -- Create an AppImage on release ([#2089](https://github.com/helix-editor/helix/pull/2089)) - # 22.03 (2022-03-28) A big shout out to all the contributors! We had 51 contributors in this release. @@ -2676,7 +230,7 @@ Usability improvements and fixes: - File picker configuration ([#988](https://github.com/helix-editor/helix/pull/988)) - Fix surround cursor position calculation ([#1183](https://github.com/helix-editor/helix/pull/1183)) - Accept count for goto_window ([#1033](https://github.com/helix-editor/helix/pull/1033)) -- Make kill_to_line_end behave like Emacs ([#1235](https://github.com/helix-editor/helix/pull/1235)) +- Make kill_to_line_end behave like emacs ([#1235](https://github.com/helix-editor/helix/pull/1235)) - Only use a single documentation popup ([#1241](https://github.com/helix-editor/helix/pull/1241)) - ui: popup: Don't allow scrolling past the end of content ([`3307f44c`](https://github.com/helix-editor/helix/commit/3307f44c)) - Open files with spaces in filename, allow opening multiple files ([#1231](https://github.com/helix-editor/helix/pull/1231)) @@ -2912,9 +466,9 @@ to distinguish it in bug reports.. - The `runtime/` directory is now properly detected on binary releases and on cargo run. `~/.config/helix/runtime` can also be used. -- Registers can now be selected via " (for example, `"ay`) +- Registers can now be selected via " (for example `"ay`) - Support for Nix files was added -- Movement is now fully tested and matches Kakoune implementation +- Movement is now fully tested and matches kakoune implementation - A per-file LSP symbol picker was added to space+s - Selection can be replaced with yanked text via R @@ -2938,7 +492,7 @@ Keymaps: - The runtime/ can now optionally be embedded in the binary - Haskell syntax added - Window mode (ctrl-w) added -- Show matching bracket (Vim's matchbrackets) +- Show matching bracket (vim's matchbrackets) - Themes now support style modifiers - First user contributed theme - Create a document if it doesn't exist yet on save |