- Update to version 23.10:
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
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=81
* Features:
- Add a config option to exclude declaration from LSP references request
- Enable injecting languages based on their file extension and shebang
- Sort the buffer picker by most recent access
- Perform syntax highlighting in the picker asynchronously
* Commands:
- :update is now aliased as :u
- Add extend_to_first_nonwhitespace which acts the same as goto_first_nonwhitespace but always extends
- Add :clear-register for clearing the given register or all registers
- Add :write-buffer-close and :write-buffer-close!
* Fixes:
- Normalize LSP workspace paths
- Robustly handle invalid LSP ranges
- Fix line number display for LSP goto pickers
- Fix toggling of soft-wrap.enable option (#6656, 58e457a, #6742)
- Handle workspace/configuration requests from stopped language servers
- Fix possible crash from opening the jumplist picker
- Fix theme preview returning to current theme on line and word deletions
- Re-run crate build scripts on changes to revision and grammar repositories
- Fix crash on opening from suspended state
- Fix unwrap bug in DAP
- Always build tree-sitter parsers with C++14 and C11 (#6792, #6834, #6845)
- Exit with a non-zero statuscode when tree-sitter parser builds fail
- Flip symbol range in LSP goto commands
- Fix runtime toggling of the mouse option
- Fix panic in inlay hint computation when view anchor is out of bounds
- Significantly improve performance of git discovery on slow file systems
- Downgrade gix log level to info
- Conserve BOM and properly support saving UTF16 files
- Correctly handle completion re-request
- Fix offset encoding in LSP didChange notifications
- Change gix logging level to info
- Improve error message when writes fail because parent directories do not exist
- Replace DAP variables popup instead of pushing more popups
- Disable tree-sitter for files after parsing for 500ms
- Fix crash when deleting with multiple cursors
- Fix selection sliding when deleting forwards in append mode
- Fix completion on paths containing spaces
* CHANGELOG information is too large. For more info, go to https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2305-2023-05-18
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=66
* Breaking changes:
- Select diagnostic range in goto_*_diag commands
- Remove jump behavior from increment/decrement
- Select change range in goto_*_change commands
- Split file modification indicator from filename statusline elements
- Jump to symbol ranges in LSP goto commands
- Workspace detection now stops at the first .helix/ directory (merging multiple .helix/languages.toml configurations is no longer supported)
* Features:
- Dynamic workspace symbol picker
- Soft-wrap
- Initial support for LSP snippet completions
- Add a statusline element for showing the current version control HEAD
- Display LSP type hints
- Enable the Kitty keyboard protocol on terminals with support
- Add a statusline element for the basename of the current file
- Add substring matching syntax for the picker
- Support LSP textDocument/prepareRename
- Allow multiple runtime directories with priorities
- Allow configuring whether to insert or replace completions
- Allow per-workspace config file .helix/config.toml
- Add workspace-lsp-roots config option to support multiple LSP roots for use with monorepos
* Commands:
- :pipe-to which pipes selections into a shell command and ignores output
- merge_consecutive_selections (A-_) combines all consecutive selections
- rotate_view_reverse which focuses the previous view
- goto_declaration (gD, requires LSP) which jumps to a symbol's declaration
- file_picker_in_current_buffer_directory
- :character-info which shows information about the character under the cursor
- :toggle-option for toggling config options at runtime
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=55