./editors/helix, Modal editor inspired by kakoune / neovim

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 25.07.1, Package name: helix-25.07.1, Maintainer: pkgsrc-users

Helix is a modal text editor with built-in support for multiple selections,
Language Server Protocol (LSP), tree-sitter, and experimental support for
Debug Adapter Protocol (DAP). Its main features include:

- Multiple cursors as a core editing primitive, inspired by Kakoune. Commands
manipulate selections which allows concurrent code editing.

- Tree-sitter produces error tolerant and robust syntax trees, which enables
better syntax highlighting, indent calculation and code navigation.

- Navigate and select functions, classes, comments, etc and select syntax
tree nodes instead of plain text.

- Language specific auto completion, goto definition, documentation,
diagnostics and other IDE features with no additional configuration.

- No Electron. No VimScript. No JavaScript. Use it over ssh, tmux, or a plain
terminal. Your laptop battery life will thank you.

- Fuzzy finder to jump to files and symbols, project wide search, beautiful
themes, auto closing bracket pairs, surround integration and more.


Master sites:

Filesize: 2426.368 KB

Version history: (Expand)


CVS history: (Expand)


   2026-01-27 08:49:21 by Adam Ciarcinski | Files touched by this commit (9) | Package updated
Log message:
helix: updated to 25.07.1

25.07.1 (2025-07-18)

This is a patch release which lowers the GLIBC requirements of the release \ 
artifacts published to GitHub

25.07 (2025-07-15)

https://github.com/helix-editor/helix/blob/master/CHANGELOG.md
   2024-11-30 21:31:07 by Thomas Klausner | Files touched by this commit (1)
Log message:
helix: mark as BROKEN

Does not build with rust 1.80.

Updating might fix this, but lots of crates and one tree-sitter
language are not fetchable, so I gave up on the project.
   2024-03-24 21:06:49 by Adam Ciarcinski | Files touched by this commit (11) | Package updated
Log message:
helix: updated to 23.10

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
This is a breaking change to language configuration
Features:

Support multiple language servers per language
Add a statusline element for the selected register
Add %, #, ., * and + special registers
Add initial support for LSP DidChangeWatchedFiles notifications
Search buffer contents in global_search
Add a "smart tab" command that intelligently jumps the cursor on tab
Add a statusline element for whether a file is read-only
Syntax highlight regex prompts
Allow defining alignment in indent queries
Show visual feedback in surround_replace
Switch to Nucleo for fuzzy matching
Insert a trailing newline on write
Add a -w/--working-dir CLI flag for specifying a working directory on startup
Accept a +N CLI argument to set the first file's line number
Accept Helix-specific ignore files in .helix/ignore and ~/.config/helix/ignore
Commands:

merge_selections (A-minus) - merge all selections into one selection that covers \ 
all ranges
move_prev_long_word_end and extend_prev_long_word_end - move/extend to the end \ 
of the previous WORD
reverse_selection_contents - swaps the values of each selection so they are reversed
Add :rl and :rla aliases for :reload and :reload-all
yank_joined - join the selections and yank to the selected register
:write-all! (:wa!) - forcibly write all buffers to disk and create any necessary \ 
subdirectories
:redraw - clear re-render the UI
:tree-sitter-highlight-name - show the theme scope name of the highlight under \ 
the cursor
Usability improvements:

Allow cycling option values at runtime
Exit gracefully on termination signals
Add plaintext matching fallback to tree-sitter pair matching
Persist register selection in pending keymaps (0e08349)
Propagate the count and register to command palette commands (b394997)
Auto indent on insert_at_line_start
Add a config option to control whether LSP completions are automatically \ 
inserted on preview
Add a config option for default line endings
Allow ANSI colors in themes
Match pairs that don't form a standalone tree-sitter node
Allow indent sizes of up to 16 columns
Improve performance of mapping positions through changes
Mark buffers created from stdin as modified
Forcibly shut down uninitialized language servers
Add filename completer for shell prompts
Allow binding F13-F24
Resolve LSP code actions
Save an undo checkpoint before accepting completions
Include gitignored files in debugger completions
Make editor remember the last search register
Open directories with goto_file
Use relative path to open buffer in goto_file (gf)
Support default color in themes
Toggle between relative and absolute line numbers when the terminal loses focus
Lower default idle-timeout to 250ms (060e73a)
Allow theming diff gutters separately from other diff colors
Style bold/italic/strikethrough in markdown doc popups
Maintain the cursor position and view when splitting with :hsplit/:vsplit
Accept - in macros outside of </>
Show all language servers for each language in --health
Don't break on hyphens in :reflow
Fixes:

Update diagnostics correctly on language server exit
Fix off-by-one in select_references_to_symbol_under_cursor
Extend selection with repeat-last-motion only if the original motion extended \ 
the selection
Fix undefined behavior in the diff gutter
Check that tab width is non-zero
Fix styles being overwritten in table rows with multiple cells
Add file for --log CLI arg in help text
Fix underflow when repeating a completion that has a negative shift position
Prefer longer matches in select_next_sibling and select_prev_sibling
Preview scratch buffers in the jumplist picker
Fix chunking by bytes in tree-sitter parsing
Discard LSP publishDiagnostic from uninitialized servers
Use negotiated position encoding for LSP workspace edits
Fix error message for unknown gutter types in config
Fix :log-open when --log CLI arg is specified
Fix debouncing of LSP messages to fix the last message sticking around
Fix crash when the current working directory is deleted
Fix piping to Helix on macOS
Fix crash when parsing overlapping injections
Clear the statusline when the prompt is visible
Fix range formatting error message typo
Skip rendering gutters when gutter width exceeds view width
Center the picker preview using visual lines
Align view correctly for background buffers opened with A-ret
Fix cursor resetting to block when quitting via a keybind
Remove path completions for the :new command
Use binary path resolved by which for formatter commands
Handle crossterm's hidden modifier
Clear completion when switching between windows with the mouse
Eagerly remove the last picker (<space>') when the picker has many items
Fix find commands for buffers with non-LF line-endings
Detect the tmux clipboard provider on macOS
Fix syntax highlighting in dynamic picker preview pane
Recognize HTML code tags with attributes as code in markdown previews
Fix multicursor snippet placeholder directions
Only show diagnostic highlights when diagnostics are enabled for a language server
Themes:

Improve the selection color in ferra
Add variable.other.member theming to spacebones_light
Update autumn and theme the soft-wrap indicator
Add gruvbox_dark_soft
Add merionette
Add zed_onedark and zed_onelight
Use light-gray for onedarker inlay hint theming
Update the Nord theme to follow the style guidelines
Tune dark_plus inlay hint colors
Add naysayer
Add kaolin-dark, kaolin-light and kaolin-valley-dark
Fix selection highlighting in gruvbox variants
Add soft-wrap indicator to gruvbox
Add missing palette definitions in everforest_dark
Increase diagnostics clarity in pop-dark
Add vim_dark_high_contrast
Add new_moon
Add yellowed
Improve comment readability for autumn
Distinguish active bufferline buffer in monokai
Update ruler colors in nord
Update Catppuccin themes
Add text focus scope and diagnostics undercurls for nord
Add material theme collection
Improve indent line color in dracula
Clean up and refactor papercolor to use inheritance
Fix zenburn inlay hint color
Fix picker crash when previewing an invalid range (e9d0bd7)
Correctly center items in the picker preview (13d4463)
Add cyan_light
Theme HTML tags in onedark
Refine darcula and darcula-solid themes
Improve nord highlights
Add nord-night
New languages:

Blueprint
Forth
t32
WebC
Persistent DSL for Haskell
F#
Wren
Unison
Todo.txt
Jinja and Handlebars
Pod
Strace
Gemini
GNU Assembler (GAS)
JSON5
TEMPL
Updated languages and queries:

Add one to the ruler numbers for git-commit
Recognize XAML files as XML
Recognize Cargo.lock as TOML
Use Rust grammar for Cairo (c6d1430)
Update tree-sitter-nickel
Tune auto-pair characters for Nickel
Recognize Vagrantfile as Ruby
Recognize hidden justfiles as Just
Update Java and TypeScript highlight queries
Recognize .zimrc as Bash
Recognize .gir as XML
Update tree-sitter-scala
Recognize make file-type as Makefile
Update tree-sitter-verilog
Update tree-sitter-cpp
Support core mode for delve debugger
Add Fortran comment injections
Switch Vue language server to vue-language-server
Update tree-sitter-sql
Replace the MATLAB tre-sitter grammar
Highlight TOML table headers
Recognize cppm file-type as C++
Refactor ecma language queries into private and public queries
Update tree-sitter-dart
Add shebang for nushell files
Recognize systemd files as INI
Update TypeScript, TSX and Svelte grammars
Enable inlay hints in the Svelte language server
Recognize Brewfiles as Ruby
Add more file-types for R
Switch tree-sitter-perl to official upstream parser
Fix predicate typo in comment highlights
Update tree-sitter-prql
Recognize .gitf as JSON
Switch V language server to v-analyzer
Add protobuf language servers
Update tree-sitter-zig
Update tree-sitter-hare
Add Java indent queries
Update tree-sitter-scheme (979933b)
Recognize scm as Scheme instead of TSQ (5707151)
Update tree-sitter-git-commit
Update JavaScript, TypeScript and TSX grammars
Update tree-sitter-nu
Fix YAML indentation
Add csharp-ls, Pyright, Pylyzer and add roots for Python
Update tree-sitter-slint
Recognize more ZSH file-types as Bash
Recognize star extension as Starlark
Fix inline HTML tag highlighting in markdown
Update tree-sitter-robot
Highlight Dart 3 sealed and base keywords
Add configuration for ltex-ls to the default languages.toml
Update tree-sitter-strace
Update tree-sitter-gleam, enable auto-format
Update tree-sitter-esdl
Expand ignore file-types
Recognize feed related formats as XML
Improve YAML injections
Add shebangs for TypeScript, Julia, Java and OCaml (95e994a)
Highlight abbreviations in Scheme (ef23847)
Remove backtic auto-pair in OCaml
Recognize flake.lock as JSON
Add Python test script injection for Nix (b4494e1)
Fix Nix comment injection precedence (37e48f4)
Recognize editorconfig files as INI
Recognize .babelrc as JSON
Switch Purescript to its own tree-sitter parser
Update Unison highlights
Recognize .webmanifest as JSON
Recognize polkit policy files as XML
Recognize polkit rules files as JavaScript
Update Go highlight queries
Add shebangs for Makefiles
Add file-type associations from VSCode
Add validation to JSON/CSS language server configs
Add a configuration for the tailwind language server
Add a configuration for the ansible language server
Add a configuration for the GraphQL language server
Indent while statements in Bash
Update tree-sitter-haskell and queries
Packaging:

Add an overlay to the Nix flake
Check for git before fetching or building grammars
Refactor Nix flake to use Crane
Remove the aarch64 appimage from the release CI
Add desktop and icon files to Nix flake output
Build flake packages with the latest stable Rust
   2023-12-13 18:39:07 by Amitai Schleier | Files touched by this commit (7)
Log message:
cargo.mk: centralize Darwin -install_name workaround.
   2023-10-25 00:11:51 by Thomas Klausner | Files touched by this commit (2297)
Log message:
*: bump for openssl 3
   2023-08-14 07:25:36 by Thomas Klausner | Files touched by this commit (1247)
Log message:
*: recursive bump for Python 3.11 as new default
   2022-12-08 11:26:06 by Jonathan Perkin | Files touched by this commit (1)
Log message:
helix: Improve DESCR, appease pkglint.
   2022-12-07 18:08:38 by Jonathan Perkin | Files touched by this commit (11) | Package updated
Log message:
helix: Update to 22.12.

Rework the pkgsrc infrastructure to simplify tree-sitter-depends.mk, rewrite
the awk script to simplify things and support regular awk, and put it in the
usual place.  Also add support for Darwin (where this was tested).

# 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 quiting \ 
([#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_lavendar` \ 
([#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))