* 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
* Breaking changes:
- Remove readline-like navigation bindings from the default insert mode keymap (e12690e, #3811, #3827, #3915, #4088)
- Rename append_to_line as insert_at_line_end and prepend_to_line as insert_at_line_start (#3753)
- Swap diagnostic picker and debug mode bindings in the space keymap (#4229)
- Select newly inserted text on paste or from shell commands (#4458, #4608, #4619, #4824)
- Select newly inserted surrounding characters on ms<char> (#4752)
- Exit select-mode after executing replace_* commands (#4554)
- Exit select-mode after executing surround commands (#4858)
- Change tree-sitter text-object keys (#3782)
- Rename fleetish theme to fleet_dark (#4997)
* Features:
- Bufferline (#2759)
- Support underline styles and colors (#4061, 98c121c)
- Inheritance for themes (#3067, #4096)
- Cursorcolumn (#4084)
- Overhauled system for writing files and quiting (#2267, #4397)
- Autosave when terminal loses focus (#3178)
- Use OSC52 as a fallback for the system clipboard (#3220)
- Show git diffs in the gutter (#3890, #5012, #4995)
- Add a logo (dc1ec56)
- Multi-cursor completion (#4496)
* Commands:
- file_picker_in_current_directory (<space>F) (#3701)
- :lsp-restart to restart the current document's language server (#3435, #3972)
- join_selections_space (A-j) which joins selections and selects the joining whitespace (#3549)
- :update to write the current file if it is modified (#4426)
- :lsp-workspace-command for picking LSP commands to execute (#3140)
- extend_prev_word_end - the extend variant for move_prev_word_end (7468fa2)
- make_search_word_bounded which adds regex word boundaries to the current search register value (#4322)
- :reload-all - :reload for all open buffers (#4663, #4901)
- goto_next_change (]g), goto_prev_change ([g), goto_first_change ([G), goto_last_change (]G) textobjects for jumping between VCS changes (#4650)
* Usability improvements and fixes:
- Don't log 'LSP not defined' errors in the logfile (1caba2d)
- Look for the external formatter program before invoking it (#3670)
- Don't send LSP didOpen events for documents without URLs (44b4479)
- Fix off-by-one in extend_line_above command (#3689)
- Use the original scroll offset when opening a split (1acdfaa)
- Handle auto-formatting failures and save the file anyway (#3684)
- Ensure the cursor is in view after :reflow (#3733)
- Add default rulers and reflow config for git commit messages (#3738)
- Improve grammar fetching and building output (#3773)
- Add a text language to language completion (cc47d3f)
- Improve error handling for :set-language (e8add6f)
- Improve error handling for :config-reload (#3668)
- Improve error handling when passing improper ranges to syntax highlighting (#3826)
- Render <code> tags as raw markup in markdown (#3425)
- Remove border around the LSP code-actions popup (#3444)
- Canonicalize the path to the runtime directory (#3794)
- Add a themelint xtask for linting themes (#3234)
- Re-sort LSP diagnostics after applying transactions (#3895, #4319)
- Add a command-line flag to specify the log file (#3807)
- Track source and tag information in LSP diagnostics (#3898, 1df32c9)
- Fix theme returning to normal when exiting the :theme completion (#3644)
- Improve error messages for invalid commands in the keymap (#3931)
- Deduplicate regexs in search_selection command (#3941)
- Split the finding of LSP root and config roots (#3929)
- Ensure that the cursor is within view after auto-formatting (#4047)
- Add pseudo-pending to commands with on-next-key callbacks (#4062, #4077)
- Add live preview to :goto (#2982)
- Show regex compilation failure in a popup (#3049)
- Add 'cycled to end' and 'no more matches' for search (#3176, #4101)
- Add extending behavior to tree-sitter textobjects (#3266)
- Add ui.gutter.selected option for themes (#3303)
- Make statusline mode names configurable (#3311)
- Add a statusline element for total line count (#3960)
- Add extending behavior to goto_window_* commands (#3985)
- Fix a panic in signature help when the preview is too large (#4030)
- Add command names to the command palette (#4071, #4223, #4495)
- Find the LSP workspace root from the current document's path (#3553)
- Add an option to skip indent-guide levels (#3819, 2c36e33)
- Change focus to modified docs on quit (#3872)
- Respond to USR1 signal by reloading config (#3952)
- Exit gracefully when the close operation fails (#4081)
- Fix goto/view center mismatch (#4135)
- Highlight the current file picker document on idle-timeout (#3172, a85e386)
- Apply transactions to jumplist selections (#4186, #4227, #4733, #4865, #4912, #4965, #4981)
- Use space as a separator for fuzzy matcher (#3969)
- Overlay all diagnostics with highest severity on top (#4113)
- Avoid re-parsing unmodified tree-sitter injections (#4146)
- Add extending captures for indentation, re-enable python indentation (#3382, 3e84434)
- Only allow either --vsplit or --hsplit CLI flags at once (#4202)
- Fix append cursor location when selection anchor is at the end of the document (#4147)
- Improve selection yanking message (#4275)
- Log failures to load tree-sitter grammars as errors (#4315)
- Fix rendering of lines longer than 65,536 columns (#4172)
- Skip searching .git in global_search (#4334)
- Display tree-sitter scopes in a popup (#4337)
- Fix deleting a word from the end of the buffer (#4328)
- Pretty print the syntax tree in :tree-sitter-subtree (#4295, #4606)
- Allow specifying suffixes for file-type detection (#2455, #4414)
- Fix multi-byte auto-pairs (#4024)
- Improve sort scoring for LSP code-actions and completions (#4134)
- Fix the handling of quotes within shellwords (#4098)
- Fix delete_word_backward and delete_word_forward on newlines (#4392)
- Fix 'no entry found for key' crash on :write-all (#4384)
- Remove lowercase requirement for tree-sitter grammars (#4346)
- Resolve LSP completion items on idle-timeout (#4406, #4797)
- Render diagnostics in the file picker preview (#4324)
- Fix terminal freezing on shell_insert_output (#4156)
- Allow use of the count in the repeat operator (.) (#4450)
- Show the current theme name on :theme with no arguments (#3740)
- Fix rendering in very large terminals (#4318)
- Sort LSP preselected items to the top of the completion menu (#4480)
- Trim braces and quotes from paths in goto-file (#4370)
- Prevent automatic signature help outside of insert mode (#4456)
- Fix freezes with external programs that process stdin and stdout concurrently (#4180)
- Make scroll aware of tabs and wide characters (#4519)
- Correctly handle escaping in command_mode completion (#4316, #4587, #4632)
- Fix delete_char_backward for paired characters (#4558)
- Fix crash from two windows editing the same document (#4570)
- Fix pasting from the blackhole register (#4497)
- Support LSP insertReplace completion items (1312682)
- Dynamically resize the line number gutter width (#3469)
- Fix crash for unknown completion item kinds (#4658)
- Re-enable format_selections for single selection ranges (d4f5cab)
- Limit the number of in-progress tree-sitter query matches (#4707, #4830)
- Use the special # register with increment/decrement to change by range number (#4418)
- Add a statusline element to show number of selected chars (#4682)
- Add a statusline element showing global LSP diagnostic warning and error counts (#4569)
- Add a scrollbar to popups (#4449)
- Prefer shorter matches in fuzzy matcher scoring (#4698)
- Use key-sequence format for command palette keybinds (#4712)
- Remove prefix filtering from autocompletion menu (#4578)
- Focus on the parent buffer when closing a split (#4766)
- Handle language server termination (#4797, #4852)
- Allow r/t/f to work on tab characters (#4817)
- Show a preview for scratch buffers in the buffer picker (#3454)
- Set a limit of entries in the jumplist (#4750)
- Re-use shell outputs when inserting or appending shell output (#3465)
- Check LSP server provider capabilities (#3554)
- Improve tree-sitter parsing performance on files with many language layers (#4716)
- Move indentation to the next line when using <ret> on a line with only whitespace (#4854)
- Remove selections for closed views from all documents (#4888)
- Improve performance of the :reload command (#4457)
- Properly handle media keys (#4887)
- Support LSP diagnostic data field (#4935)
- Handle C-i keycode as tab (#4961)
- Fix view alignment for jumplist picker jumps (#3743)
- Use OSC52 for tmux clipboard provider (#5027)
* Other new changes can be found in https://github.com/helix-editor/helix/blob/master/CHANGELOG.md#2212-2022-12-06
- Improve _service file
- Remove helix.png since new logo is now shipped in the tarball
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=39
* Patch release that fixes a panic caused by closing splits or buffers (#3633)
- Other changes before the patch release (22.08):
* Breaking changes:
- Special keymap names for +, ; and % have been replaced with those literal characters (#2677, #3556)
- A-Left and A-Right have become C-Left and C-Right for word-wise motion (#2500)
- The catppuccin theme's name has been corrected from catpuccin (#2713)
- catppuccin has been replaced by its variants, catppuccin_frappe, catppuccin_latte,
catppuccin_macchiato, catppuccin_mocha (#3281)
- C-n and C-p have been removed from the default insert mode keymap (#3340)
- The extend_line command has been replaced with extend_line_below and
a new extend_line command now exists (#3046)
* Features:
- Add an integration testing harness (#2359)
- Indent guides (#1796, 906259c)
- Cursorline (#2170, fde9e03)
- Select all instances of the symbol under the cursor (<space>h) (#2738)
- A picker for document and workspace LSP diagnostics (<space>g/<space>G) (#2013, #2984)
- Allow styling the mode indicator per-mode (#2676)
- Live preview for the theme picker (#1798)
- Configurable statusline (#2434)
- LSP SignatureHelp (#1755, a8b123f)
- A picker for the jumplist (#3033)
- Configurable external formatter binaries (#2942)
- Bracketed paste support (#3233, 12ddd03)
* Commands:
- :insert-output and :append-output which insert/append output from a shell command (#2589)
- The t textobject (]t/[t/mit/mat) for navigating tests (#2807)
- C-Backspace and C-Delete for word-wise deletion in prompts and pickers (#2500)
- A-Delete for forward word-wise deletion in insert mode (#2500)
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=32
- Update to version 22.05:
* Fix the VERSION file
* mention the requirement of C++ compiler for building grammar in doc (#2592)
* Fix release action
* add 22.05 changelog notes (#2584)
* add section on syntax tree motions to the usage docs (#2568)
* Changing Macro color to avoid color confusion
* update Erlang grammar and queries
* update Gleam grammar and queries
* Add `parameter.around` text object query
* build(deps): bump once_cell from 1.10.0 to 1.12.0
OBS-URL: https://build.opensuse.org/request/show/979699
OBS-URL: https://build.opensuse.org/package/show/editors/helix?expand=0&rev=18