@@ -1,264 +1,275 @@
11# 23.03 (2023-03-31)
22
3−> Checkpoint: `5323020c3f02b178f2b6807f13d89bf7f40d3cce`
3+23.03 brings some long-awaited and exciting features. Thank you to everyone involved! This release saw changes from 102 contributors.
44
55For the full log, check out the [git log](https://github.com/helix-editor/helix/compare/22.12..23.03).
6+Also check out the [release notes](https://helix-editor.com/news/release-23-03-highlights/) for more commentary on larger features.
67
78Breaking changes:
89
9−- Select diagnostic range in `goto_*_diag` commands (#4713, #5164, #6193)
10−- Remove jump behavior from `increment`/`decrement` (#4123, #5929)
11−- Select change range in `goto_*_change` commands (#5206)
12−- Split file modification indicator from filename statusline elements (#4731, #6036)
13−- Jump to symbol ranges in LSP goto commands (#5986)
10+- 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))
11+- Remove jump behavior from `increment`/`decrement` ([#4123](https://github.com/helix-editor/helix/pull/4123), [#5929](https://github.com/helix-editor/helix/pull/5929))
12+- Select change range in `goto_*_change` commands ([#5206](https://github.com/helix-editor/helix/pull/5206))
13+- 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))
14+- Jump to symbol ranges in LSP goto commands ([#5986](https://github.com/helix-editor/helix/pull/5986))
15+- 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))
1416
1517Features:
1618
17−- Dynamic workspace symbol picker (#5055)
18−- Soft-wrap (#5420, #5786, #5893, #6142, #6440)
19−- Initial support for LSP snippet completions (#5864, b1f7528, #6263, bbf4800, 90348b8, f87299f, #6371)
20−- Add a statusline element for showing the current version control HEAD (#5682)
21−- Display LSP type hints (#5420, #5934, #6312)
22−- Enable the Kitty keyboard protocol on terminals with support (#4939, #6170, #6194)
23−- Add a statusline element for the basename of the current file (#5318)
24−- Add substring matching syntax for the picker (#5658)
25−- Support LSP `textDocument/prepareRename` (#6103)
26−- Allow multiple runtime directories with priorities (#5411)
27−- Allow configuring whether to insert or replace completions (#5728)
19+- Dynamic workspace symbol picker ([#5055](https://github.com/helix-editor/helix/pull/5055))
20+- 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))
21+- 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))
22+- Add a statusline element for showing the current version control HEAD ([#5682](https://github.com/helix-editor/helix/pull/5682))
23+- 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))
24+- 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))
25+- Add a statusline element for the basename of the current file ([#5318](https://github.com/helix-editor/helix/pull/5318))
26+- Add substring matching syntax for the picker ([#5658](https://github.com/helix-editor/helix/pull/5658))
27+- Support LSP `textDocument/prepareRename` ([#6103](https://github.com/helix-editor/helix/pull/6103))
28+- Allow multiple runtime directories with priorities ([#5411](https://github.com/helix-editor/helix/pull/5411))
29+- Allow configuring whether to insert or replace completions ([#5728](https://github.com/helix-editor/helix/pull/5728))
30+- Allow per-workspace config file `.helix/config.toml` ([#5748](https://github.com/helix-editor/helix/pull/5748))
31+- Add `workspace-lsp-roots` config option to support multiple LSP roots for use with monorepos ([#5748](https://github.com/helix-editor/helix/pull/5748))
2832
2933Commands:
3034
31−- `:pipe-to` which pipes selections into a shell command and ignores output (#4931)
32−- `merge_consecutive_selections` (`A-_`) combines all consecutive selections (#5047)
33−- `rotate_view_reverse` which focuses the previous view (#5356)
34−- `goto_declaration` (`gD`, requires LSP) which jumps to a symbol's declaration (#5646)
35−- `file_picker_in_current_buffer_directory` (#4666)
36−- `:character-info` which shows information about the character under the cursor (#4000)
37−- `:toggle-option` for toggling config options at runtime (#4085)
38−- `dap_restart` for restarting a debug session in DAP (#5651)
39−- `:lsp-stop` to stop the language server of the current buffer (#5964)
40−- `:reset-diff-change` for resetting a diff hunk to its original text (#4974)
35+- `:pipe-to` which pipes selections into a shell command and ignores output ([#4931](https://github.com/helix-editor/helix/pull/4931))
36+- `merge_consecutive_selections` (`A-_`) combines all consecutive selections ([#5047](https://github.com/helix-editor/helix/pull/5047))
37+- `rotate_view_reverse` which focuses the previous view ([#5356](https://github.com/helix-editor/helix/pull/5356))
38+- `goto_declaration` (`gD`, requires LSP) which jumps to a symbol's declaration ([#5646](https://github.com/helix-editor/helix/pull/5646))
39+- `file_picker_in_current_buffer_directory` ([#4666](https://github.com/helix-editor/helix/pull/4666))
40+- `:character-info` which shows information about the character under the cursor ([#4000](https://github.com/helix-editor/helix/pull/4000))
41+- `:toggle-option` for toggling config options at runtime ([#4085](https://github.com/helix-editor/helix/pull/4085))
42+- `dap_restart` for restarting a debug session in DAP ([#5651](https://github.com/helix-editor/helix/pull/5651))
43+- `:lsp-stop` to stop the language server of the current buffer ([#5964](https://github.com/helix-editor/helix/pull/5964))
44+- `:reset-diff-change` for resetting a diff hunk to its original text ([#4974](https://github.com/helix-editor/helix/pull/4974))
45+- `:config-open-workspace` for opening the config file local to the current workspace ([#5748](https://github.com/helix-editor/helix/pull/5748))
4146
4247Usability improvements:
4348
44−- Remove empty detail section in completion menu when LSP doesn't send details (#4902)
45−- Pass client information on LSP initialization (#4904)
46−- Allow specifying environment variables for language servers in language config (#4004)
47−- Allow detached git worktrees to be recognized as root paths (#5097)
48−- Improve error message handling for theme loading failures (#5073)
49−- Print the names of binaries required for LSP/DAP in health-check (#5195)
50−- Improve sorting in the picker in cases of ties (#5169)
51−- Add theming for prompt suggestions (#5104)
52−- Open a file picker when using `:open` on directories (#2707, #5278)
53−- Reload language config with `:config-reload` (#5239, #5381, #5431)
54−- Improve indent queries for python when the tree is errored (#5332)
55−- Picker: Open files without closing the picker with `A-ret` (#4435)
56−- Allow theming cursors by primary/secondary and by mode (#5130)
57−- Allow configuration of the minimum width for the line-numbers gutter (#4724, #5696)
58−- Use filename completer for `:run-shell-command` command (#5729)
59−- Surround with line-endings with `ms<ret>` (#4571)
60−- Hide duplicate symlinks in file pickers (#5658)
61−- Tabulate buffer picker contents (#5777)
62−- Add an option to disable LSP (#4425)
63−- Short-circuit tree-sitter and word object motions (#5851)
64−- Add exit code to failed command message (#5898)
65−- Make `m` textobject look for pairs enclosing selections (#3344)
66−- Negotiate LSP position encoding (#5894)
67−- Display deprecated LSP completions with strikethrough (#5932)
68−- Add JSONRPC request ID to failed LSP/DAP request log messages (#6010, #6018)
69−- Ignore case when filtering LSP completions (#6008)
70−- Show current language when no arguments are passed to `:set-language` (#5895)
71−- Refactor and rewrite all book documentation (#5534)
72−- Separate diagnostic picker message and code (#6095)
73−- Add a config option to bypass undercurl detection (#6253)
74−- Only complete appropriate arguments for typed commands (#5966)
75−- Discard outdated LSP diagnostics (3c9d5d0)
76−- Discard outdated LSP workspace edits (b6a4927)
77−- Run shell commands asynchronously (#6373)
78−- Show diagnostic codes in LSP diagnostic messages (#6378)
49+- Remove empty detail section in completion menu when LSP doesn't send details ([#4902](https://github.com/helix-editor/helix/pull/4902))
50+- Pass client information on LSP initialization ([#4904](https://github.com/helix-editor/helix/pull/4904))
51+- Allow specifying environment variables for language servers in language config ([#4004](https://github.com/helix-editor/helix/pull/4004))
52+- Allow detached git worktrees to be recognized as root paths ([#5097](https://github.com/helix-editor/helix/pull/5097))
53+- Improve error message handling for theme loading failures ([#5073](https://github.com/helix-editor/helix/pull/5073))
54+- Print the names of binaries required for LSP/DAP in health-check ([#5195](https://github.com/helix-editor/helix/pull/5195))
55+- Improve sorting in the picker in cases of ties ([#5169](https://github.com/helix-editor/helix/pull/5169))
56+- Add theming for prompt suggestions ([#5104](https://github.com/helix-editor/helix/pull/5104))
57+- 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))
58+- 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))
59+- Improve indent queries for python when the tree is errored ([#5332](https://github.com/helix-editor/helix/pull/5332))
60+- Picker: Open files without closing the picker with `A-ret` ([#4435](https://github.com/helix-editor/helix/pull/4435))
61+- Allow theming cursors by primary/secondary and by mode ([#5130](https://github.com/helix-editor/helix/pull/5130))
62+- 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))
63+- Use filename completer for `:run-shell-command` command ([#5729](https://github.com/helix-editor/helix/pull/5729))
64+- Surround with line-endings with `ms<ret>` ([#4571](https://github.com/helix-editor/helix/pull/4571))
65+- Hide duplicate symlinks in file pickers ([#5658](https://github.com/helix-editor/helix/pull/5658))
66+- Tabulate buffer picker contents ([#5777](https://github.com/helix-editor/helix/pull/5777))
67+- Add an option to disable LSP ([#4425](https://github.com/helix-editor/helix/pull/4425))
68+- Short-circuit tree-sitter and word object motions ([#5851](https://github.com/helix-editor/helix/pull/5851))
69+- Add exit code to failed command message ([#5898](https://github.com/helix-editor/helix/pull/5898))
70+- Make `m` textobject look for pairs enclosing selections ([#3344](https://github.com/helix-editor/helix/pull/3344))
71+- Negotiate LSP position encoding ([#5894](https://github.com/helix-editor/helix/pull/5894), [a48d1a4](https://github.com/helix-editor/helix/commit/a48d1a4))
72+- Display deprecated LSP completions with strikethrough ([#5932](https://github.com/helix-editor/helix/pull/5932))
73+- 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))
74+- Ignore case when filtering LSP completions ([#6008](https://github.com/helix-editor/helix/pull/6008))
75+- Show current language when no arguments are passed to `:set-language` ([#5895](https://github.com/helix-editor/helix/pull/5895))
76+- Refactor and rewrite all book documentation ([#5534](https://github.com/helix-editor/helix/pull/5534))
77+- Separate diagnostic picker message and code ([#6095](https://github.com/helix-editor/helix/pull/6095))
78+- Add a config option to bypass undercurl detection ([#6253](https://github.com/helix-editor/helix/pull/6253))
79+- Only complete appropriate arguments for typed commands ([#5966](https://github.com/helix-editor/helix/pull/5966))
80+- Discard outdated LSP diagnostics ([3c9d5d0](https://github.com/helix-editor/helix/commit/3c9d5d0))
81+- Discard outdated LSP workspace edits ([b6a4927](https://github.com/helix-editor/helix/commit/b6a4927))
82+- Run shell commands asynchronously ([#6373](https://github.com/helix-editor/helix/pull/6373))
83+- Show diagnostic codes in LSP diagnostic messages ([#6378](https://github.com/helix-editor/helix/pull/6378))
84+- Highlight the current line in a DAP debug session ([#5957](https://github.com/helix-editor/helix/pull/5957))
85+- 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))
7986
8087Fixes:
8188
82−- Fix behavior of `auto-completion` flag for completion-on-trigger (#5042)
83−- Reset editor mode when changing buffers (#5072)
84−- Respect scrolloff settings in mouse movements (#5255)
85−- Avoid trailing `s` when only one file is opened (#5189)
86−- Fix erroneous indent between closers of auto-pairs (#5330)
87−- Expand `~` when parsing file paths in `:open` (#5329)
88−- Fix theme inheritance for default themes (#5218)
89−- Fix `extend_line` with a count when the current line(s) are selected (#5288)
90−- Prompt: Fix autocompletion for paths containing periods (#5175)
91−- Skip serializing JSONRPC params if params is null (#5471)
92−- Fix interaction with the `xclip` clipboard provider (#5426)
93−- Fix undo/redo execution from the command palette (#5294)
94−- Fix highlighting of non-block cursors (#5575)
95−- Fix panic when nooping in `join_selections` and `join_selections_space` (#5423)
96−- Fix selecting a changed file in global search (#5639)
97−- Fix initial syntax highlight layer sort order (#5196)
98−- Fix UTF-8 length handling for shellwords (#5738)
99−- Remove C-j and C-k bindings from the completion menu (#5070)
100−- Always commit to history when pasting (#5790)
101−- Properly handle LSP position encoding (#5711)
102−- Fix infinite loop in `copy_selection_on_prev_line` (#5888)
103−- Fix completion popup positioning (#5842)
104−- Fix a panic when uncommenting a line with only a comment token (#5933)
105−- Fix panic in `goto_window_center` at EOF (#5987)
106−- Ignore invalid file URIs sent by a language server (#6000)
107−- Decode LSP URIs for the workspace diagnostics picker (#6016)
108−- Fix incorrect usages of `tab_width` with `indent_width` (#5918)
109−- DAP: Send Disconnect if the Terminated event is received (#5532)
110−- DAP: Validate key and index exist when requesting variables (#5628)
111−- Check LSP renaming support before prompting for rename text (#6257)
112−- Fix indent guide rendering (#6136)
113−- Fix division by zero panic (#6155)
114−- Fix lacking space panic (#6109)
115−- Send error replies for malformed and unhandled LSP requests (#6058)
116−- Fix table column calculations for dynamic pickers (#5920)
117−- Skip adding jumplist entries for `:<n>` line number previews (#5751)
118−- Fix completion race conditions (#6173)
119−- Fix `shrink_selection` with multiple cursors (#6093)
120−- Fix indentation calculation for lines with mixed tabs/spaces (#6278)
121−- No-op `client/registerCapability` LSP requests (#6258)
122−- Send the STOP signal to all processes in the process group (#3546)
123−- Fix workspace edit client capabilities declaration (7bf168d)
124−- Fix highlighting in picker results with multiple columns (#6333)
89+- Fix behavior of `auto-completion` flag for completion-on-trigger ([#5042](https://github.com/helix-editor/helix/pull/5042))
90+- Reset editor mode when changing buffers ([#5072](https://github.com/helix-editor/helix/pull/5072))
91+- Respect scrolloff settings in mouse movements ([#5255](https://github.com/helix-editor/helix/pull/5255))
92+- Avoid trailing `s` when only one file is opened ([#5189](https://github.com/helix-editor/helix/pull/5189))
93+- Fix erroneous indent between closers of auto-pairs ([#5330](https://github.com/helix-editor/helix/pull/5330))
94+- Expand `~` when parsing file paths in `:open` ([#5329](https://github.com/helix-editor/helix/pull/5329))
95+- Fix theme inheritance for default themes ([#5218](https://github.com/helix-editor/helix/pull/5218))
96+- Fix `extend_line` with a count when the current line(s) are selected ([#5288](https://github.com/helix-editor/helix/pull/5288))
97+- Prompt: Fix autocompletion for paths containing periods ([#5175](https://github.com/helix-editor/helix/pull/5175))
98+- Skip serializing JSONRPC params if params is null ([#5471](https://github.com/helix-editor/helix/pull/5471))
99+- Fix interaction with the `xclip` clipboard provider ([#5426](https://github.com/helix-editor/helix/pull/5426))
100+- Fix undo/redo execution from the command palette ([#5294](https://github.com/helix-editor/helix/pull/5294))
101+- Fix highlighting of non-block cursors ([#5575](https://github.com/helix-editor/helix/pull/5575))
102+- Fix panic when nooping in `join_selections` and `join_selections_space` ([#5423](https://github.com/helix-editor/helix/pull/5423))
103+- Fix selecting a changed file in global search ([#5639](https://github.com/helix-editor/helix/pull/5639))
104+- Fix initial syntax highlight layer sort order ([#5196](https://github.com/helix-editor/helix/pull/5196))
105+- Fix UTF-8 length handling for shellwords ([#5738](https://github.com/helix-editor/helix/pull/5738))
106+- Remove C-j and C-k bindings from the completion menu ([#5070](https://github.com/helix-editor/helix/pull/5070))
107+- Always commit to history when pasting ([#5790](https://github.com/helix-editor/helix/pull/5790))
108+- Properly handle LSP position encoding ([#5711](https://github.com/helix-editor/helix/pull/5711))
109+- Fix infinite loop in `copy_selection_on_prev_line` ([#5888](https://github.com/helix-editor/helix/pull/5888))
110+- Fix completion popup positioning ([#5842](https://github.com/helix-editor/helix/pull/5842))
111+- Fix a panic when uncommenting a line with only a comment token ([#5933](https://github.com/helix-editor/helix/pull/5933))
112+- Fix panic in `goto_window_center` at EOF ([#5987](https://github.com/helix-editor/helix/pull/5987))
113+- Ignore invalid file URIs sent by a language server ([#6000](https://github.com/helix-editor/helix/pull/6000))
114+- Decode LSP URIs for the workspace diagnostics picker ([#6016](https://github.com/helix-editor/helix/pull/6016))
115+- Fix incorrect usages of `tab_width` with `indent_width` ([#5918](https://github.com/helix-editor/helix/pull/5918))
116+- DAP: Send Disconnect if the Terminated event is received ([#5532](https://github.com/helix-editor/helix/pull/5532))
117+- DAP: Validate key and index exist when requesting variables ([#5628](https://github.com/helix-editor/helix/pull/5628))
118+- Check LSP renaming support before prompting for rename text ([#6257](https://github.com/helix-editor/helix/pull/6257))
119+- Fix indent guide rendering ([#6136](https://github.com/helix-editor/helix/pull/6136))
120+- Fix division by zero panic ([#6155](https://github.com/helix-editor/helix/pull/6155))
121+- Fix lacking space panic ([#6109](https://github.com/helix-editor/helix/pull/6109))
122+- Send error replies for malformed and unhandled LSP requests ([#6058](https://github.com/helix-editor/helix/pull/6058))
123+- Fix table column calculations for dynamic pickers ([#5920](https://github.com/helix-editor/helix/pull/5920))
124+- Skip adding jumplist entries for `:<n>` line number previews ([#5751](https://github.com/helix-editor/helix/pull/5751))
125+- Fix completion race conditions ([#6173](https://github.com/helix-editor/helix/pull/6173))
126+- Fix `shrink_selection` with multiple cursors ([#6093](https://github.com/helix-editor/helix/pull/6093))
127+- Fix indentation calculation for lines with mixed tabs/spaces ([#6278](https://github.com/helix-editor/helix/pull/6278))
128+- No-op `client/registerCapability` LSP requests ([#6258](https://github.com/helix-editor/helix/pull/6258))
129+- Send the STOP signal to all processes in the process group ([#3546](https://github.com/helix-editor/helix/pull/3546))
130+- Fix workspace edit client capabilities declaration ([7bf168d](https://github.com/helix-editor/helix/commit/7bf168d))
131+- Fix highlighting in picker results with multiple columns ([#6333](https://github.com/helix-editor/helix/pull/6333))
132+- Canonicalize paths before stripping the current dir as a prefix ([#6290](https://github.com/helix-editor/helix/pull/6290))
133+- 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))
134+- Fix theme reloading behavior in `:config-reload` ([ab819d8](https://github.com/helix-editor/helix/commit/ab819d8))
125135
126136Themes:
127137
128−- Update `serika` (#5038, #6344)
129−- Update `flatwhite` (#5036, #6323)
130−- Update `autumn` (#5051, #5397, #6280, #6316)
131−- Update `acme` (#5019, #5486, #5488)
132−- Update `gruvbox` themes (#5066, #5333, #5540, #6285, #6295)
133−- Update `base16_transparent` (#5105)
134−- Update `dark_high_contrast` (#5105)
135−- Update `dracula` (#5236, #5627, #6414)
136−- Update `monokai_pro_spectrum` (#5250, #5602)
137−- Update `rose_pine` (#5267, #5489, #6384)
138−- Update `kanagawa` (#5273, #5571, #6085)
139−- Update `emacs` (#5334)
140−- Add `github` themes (#5353, efeec12)
138+- Update `serika` ([#5038](https://github.com/helix-editor/helix/pull/5038), [#6344](https://github.com/helix-editor/helix/pull/6344))
139+- Update `flatwhite` ([#5036](https://github.com/helix-editor/helix/pull/5036), [#6323](https://github.com/helix-editor/helix/pull/6323))
140+- 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))
141+- 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))
142+- 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))
143+- Update `base16_transparent` ([#5105](https://github.com/helix-editor/helix/pull/5105))
144+- Update `dark_high_contrast` ([#5105](https://github.com/helix-editor/helix/pull/5105))
145+- 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))
146+- Update `monokai_pro_spectrum` ([#5250](https://github.com/helix-editor/helix/pull/5250), [#5602](https://github.com/helix-editor/helix/pull/5602))
147+- 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))
148+- 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))
149+- Update `emacs` ([#5334](https://github.com/helix-editor/helix/pull/5334))
150+- Add `github` themes ([#5353](https://github.com/helix-editor/helix/pull/5353), [efeec12](https://github.com/helix-editor/helix/commit/efeec12))
141151 - Dark themes: `github_dark`, `github_dark_colorblind`, `github_dark_dimmed`, `github_dark_high_contrast`, `github_dark_tritanopia`
142152 - Light themes: `github_light`, `github_light_colorblind`, `github_light_dimmed`, `github_light_high_contrast`, `github_light_tritanopia`
143−- Update `solarized` variants (#5445, #6327)
144−- Update `catppuccin` variants (#5404, #6107, #6269)
145−- Use curly underlines in built-in themes (#5419)
146−- Update `zenburn` (#5573)
147−- Rewrite `snazzy` (#3971)
148−- Add `monokai_aqua` (#5578)
149−- Add `markup.strikethrough` to existing themes (#5619)
150−- Update `sonokai` (#5440)
151−- Update `onedark` (#5755)
152−- Add `ayu_evolve` (#5638, #6028, #6225)
153−- Add `jellybeans` (#5719)
154−- Update `fleet_dark` (#5605, #6266, #6324, #6375)
155−- Add `darcula-solid` (#5778)
156−- Remove text background from monokai themes (#6009)
157−- Update `pop_dark` (#5992, #6208, #6227, #6292)
158−- Add `everblush` (#6086)
159−- Add `adwaita-dark` (#6042, #6342)
160−- Update `papercolor` (#6162)
161−- Update `onelight` (#6192, #6276)
162−- Add `molokai` (#6260)
163−- Update `ayu` variants (#6329)
164−- Update `tokyonight` variants (#6349)
165−- Update `nord` variants (#6376)
153+- Update `solarized` variants ([#5445](https://github.com/helix-editor/helix/pull/5445), [#6327](https://github.com/helix-editor/helix/pull/6327))
154+- 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))
155+- Use curly underlines in built-in themes ([#5419](https://github.com/helix-editor/helix/pull/5419))
156+- Update `zenburn` ([#5573](https://github.com/helix-editor/helix/pull/5573))
157+- Rewrite `snazzy` ([#3971](https://github.com/helix-editor/helix/pull/3971))
158+- Add `monokai_aqua` ([#5578](https://github.com/helix-editor/helix/pull/5578))
159+- Add `markup.strikethrough` to existing themes ([#5619](https://github.com/helix-editor/helix/pull/5619))
160+- Update `sonokai` ([#5440](https://github.com/helix-editor/helix/pull/5440))
161+- Update `onedark` ([#5755](https://github.com/helix-editor/helix/pull/5755))
162+- 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))
163+- Add `jellybeans` ([#5719](https://github.com/helix-editor/helix/pull/5719))
164+- 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))
165+- Add `darcula-solid` ([#5778](https://github.com/helix-editor/helix/pull/5778))
166+- Remove text background from monokai themes ([#6009](https://github.com/helix-editor/helix/pull/6009))
167+- 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))
168+- Add `everblush` ([#6086](https://github.com/helix-editor/helix/pull/6086))
169+- Add `adwaita-dark` ([#6042](https://github.com/helix-editor/helix/pull/6042), [#6342](https://github.com/helix-editor/helix/pull/6342))
170+- Update `papercolor` ([#6162](https://github.com/helix-editor/helix/pull/6162))
171+- Update `onelight` ([#6192](https://github.com/helix-editor/helix/pull/6192), [#6276](https://github.com/helix-editor/helix/pull/6276))
172+- Add `molokai` ([#6260](https://github.com/helix-editor/helix/pull/6260))
173+- Update `ayu` variants ([#6329](https://github.com/helix-editor/helix/pull/6329))
174+- Update `tokyonight` variants ([#6349](https://github.com/helix-editor/helix/pull/6349))
175+- Update `nord` variants ([#6376](https://github.com/helix-editor/helix/pull/6376))
166176
167177New languages:
168178
169−- BibTeX (#5064)
170−- Mermaid.js (#5147)
171−- Crystal (#4993, #5205)
172−- MATLAB/Octave (#5192)
173−- `tfvars` (uses HCL) (#5396)
174−- Ponylang (#5416)
175−- DHall (1f6809c)
176−- Sagemath (#5649)
177−- MSBuild (#5793)
178−- pem (#5797)
179−- passwd (#4959)
180−- hosts (#4950, #5914)
181−- uxntal (#6047)
182−- Yuck (#6064, #6242)
183−- GNU gettext PO (#5996)
184−- Sway (#6023)
185−- NASM (#6068)
186−- PRQL (#6126)
187−- reStructuredText (#6180)
188−- Smithy (#6370)
189−- VHDL (#5826)
190−- Rego (OpenPolicy Agent) (#6415)
191−- Nim (#6123)
179+- BibTeX ([#5064](https://github.com/helix-editor/helix/pull/5064))
180+- Mermaid.js ([#5147](https://github.com/helix-editor/helix/pull/5147))
181+- Crystal ([#4993](https://github.com/helix-editor/helix/pull/4993), [#5205](https://github.com/helix-editor/helix/pull/5205))
182+- MATLAB/Octave ([#5192](https://github.com/helix-editor/helix/pull/5192))
183+- `tfvars` (uses HCL) ([#5396](https://github.com/helix-editor/helix/pull/5396))
184+- Ponylang ([#5416](https://github.com/helix-editor/helix/pull/5416))
185+- DHall ([1f6809c](https://github.com/helix-editor/helix/commit/1f6809c))
186+- Sagemath ([#5649](https://github.com/helix-editor/helix/pull/5649))
187+- MSBuild ([#5793](https://github.com/helix-editor/helix/pull/5793))
188+- pem ([#5797](https://github.com/helix-editor/helix/pull/5797))
189+- passwd ([#4959](https://github.com/helix-editor/helix/pull/4959))
190+- hosts ([#4950](https://github.com/helix-editor/helix/pull/4950), [#5914](https://github.com/helix-editor/helix/pull/5914))
191+- uxntal ([#6047](https://github.com/helix-editor/helix/pull/6047))
192+- Yuck ([#6064](https://github.com/helix-editor/helix/pull/6064), [#6242](https://github.com/helix-editor/helix/pull/6242))
193+- GNU gettext PO ([#5996](https://github.com/helix-editor/helix/pull/5996))
194+- Sway ([#6023](https://github.com/helix-editor/helix/pull/6023))
195+- NASM ([#6068](https://github.com/helix-editor/helix/pull/6068))
196+- PRQL ([#6126](https://github.com/helix-editor/helix/pull/6126))
197+- reStructuredText ([#6180](https://github.com/helix-editor/helix/pull/6180))
198+- Smithy ([#6370](https://github.com/helix-editor/helix/pull/6370))
199+- VHDL ([#5826](https://github.com/helix-editor/helix/pull/5826))
200+- Rego (OpenPolicy Agent) ([#6415](https://github.com/helix-editor/helix/pull/6415))
201+- Nim ([#6123](https://github.com/helix-editor/helix/pull/6123))
192202
193203Updated languages and queries:
194204
195−- Use diff syntax for patch files (#5085)
196−- Add Haskell textobjects (#5061)
197−- Fix commonlisp configuration (#5091)
198−- Update Scheme (bae890d)
199−- Add indent queries for Bash (#5149)
200−- Recognize `c++` as a C++ extension (#5183)
201−- Enable HTTP server in `metals` (Scala) config (#5551)
202−- Change V-lang language server to `v ls` from `vls` (#5677)
203−- Inject comment grammar into Nix (#5208)
204−- Update Rust highlights (#5238, #5349)
205−- Fix HTML injection within Markdown (#5265)
206−- Fix comment token for godot (#5276)
207−- Expand injections for Vue (#5268)
208−- Add `.bash_aliases` as a Bash file-type (#5347)
209−- Fix comment token for sshclientconfig (#5351)
210−- Update Prisma (#5417)
211−- Update C++ (#5457)
212−- Add more file-types for Python (#5593)
213−- Update tree-sitter-scala (#5576)
214−- Add an injection regex for Lua (#5606)
215−- Add `build.gradle` to java roots configuration (#5641)
216−- Add Hub PR files to markdown file-types (#5634)
217−- Add an external formatter configuration for Cue (#5679)
218−- Add injections for builders and writers to Nix (#5629)
219−- Update tree-sitter-xml to fix whitespace parsing (#5685)
220−- Add `Justfile` to the make file-types configuration (#5687)
221−- Update tree-sitter-sql and highlight queries (#5683, #5772)
222−- Use the bash grammar and queries for env language (#5720)
223−- Add podspec files to ruby file-types (#5811)
224−- Recognize `.C` and `.H` file-types as C++ (#5808)
225−- Recognize plist and mobileconfig files as XML (#5863)
226−- Fix `select` indentation in Go (#5713)
227−- Check for external file modifications when writing (#5805)
228−- Recognize containerfiles as dockerfile syntax (#5873)
229−- Update godot grammar and queries (#5944, #6186)
230−- Improve DHall highlights (#5959)
231−- Recognize `.env.dist` and `source.env` as env language (#6003)
232−- Update tree-sitter-git-rebase (#6030, #6094)
233−- Improve SQL highlights (#6041)
234−- Improve markdown highlights and inject LaTeX (#6100)
235−- Add textobject queries for Elm (#6084)
236−- Recognize graphql schema file type (#6159)
237−- Improve highlighting in comments (#6143)
238−- Improve highlighting for JavaScript/TypeScript/ECMAScript languages (#6205)
239−- Improve PHP highlights (#6203, #6250, #6299)
240−- Improve Go highlights (#6204)
241−- Highlight unchecked sqlx functions as SQL in Rust (#6256)
242−- Improve Erlang highlights (cdd6c8d)
243−- Improve Nix highlights (fb4d703)
244−- Improve gdscript highlights (#6311)
245−- Improve Vlang highlights (#6279)
246−- Improve Makefile highlights (#6339)
247−- Remove auto-pair for `'` in OCaml (#6381)
248−- Fix indents in switch statements in ECMA languages (#6369)
249−- Recognize xlb and storyboard file-types as XML (#6407)
250−- Recognize cts and mts file-types as TypeScript (#6424)
251−- Recognize SVG file-type as XML (#6431)
252−- Add theme scopes for (un)checked list item markup scopes (#6434)
253−- Update git commit grammar and add the comment textobject (#6439)
254−- Recognize ARB file-type as JSON (#6452)
205+- Use diff syntax for patch files ([#5085](https://github.com/helix-editor/helix/pull/5085))
206+- Add Haskell textobjects ([#5061](https://github.com/helix-editor/helix/pull/5061))
207+- Fix commonlisp configuration ([#5091](https://github.com/helix-editor/helix/pull/5091))
208+- Update Scheme ([bae890d](https://github.com/helix-editor/helix/commit/bae890d))
209+- Add indent queries for Bash ([#5149](https://github.com/helix-editor/helix/pull/5149))
210+- Recognize `c++` as a C++ extension ([#5183](https://github.com/helix-editor/helix/pull/5183))
211+- Enable HTTP server in `metals` (Scala) config ([#5551](https://github.com/helix-editor/helix/pull/5551))
212+- Change V-lang language server to `v ls` from `vls` ([#5677](https://github.com/helix-editor/helix/pull/5677))
213+- Inject comment grammar into Nix ([#5208](https://github.com/helix-editor/helix/pull/5208))
214+- Update Rust highlights ([#5238](https://github.com/helix-editor/helix/pull/5238), [#5349](https://github.com/helix-editor/helix/pull/5349))
215+- Fix HTML injection within Markdown ([#5265](https://github.com/helix-editor/helix/pull/5265))
216+- Fix comment token for godot ([#5276](https://github.com/helix-editor/helix/pull/5276))
217+- Expand injections for Vue ([#5268](https://github.com/helix-editor/helix/pull/5268))
218+- Add `.bash_aliases` as a Bash file-type ([#5347](https://github.com/helix-editor/helix/pull/5347))
219+- Fix comment token for sshclientconfig ([#5351](https://github.com/helix-editor/helix/pull/5351))
220+- Update Prisma ([#5417](https://github.com/helix-editor/helix/pull/5417))
221+- Update C++ ([#5457](https://github.com/helix-editor/helix/pull/5457))
222+- Add more file-types for Python ([#5593](https://github.com/helix-editor/helix/pull/5593))
223+- Update tree-sitter-scala ([#5576](https://github.com/helix-editor/helix/pull/5576))
224+- Add an injection regex for Lua ([#5606](https://github.com/helix-editor/helix/pull/5606))
225+- Add `build.gradle` to java roots configuration ([#5641](https://github.com/helix-editor/helix/pull/5641))
226+- Add Hub PR files to markdown file-types ([#5634](https://github.com/helix-editor/helix/pull/5634))
227+- Add an external formatter configuration for Cue ([#5679](https://github.com/helix-editor/helix/pull/5679))
228+- Add injections for builders and writers to Nix ([#5629](https://github.com/helix-editor/helix/pull/5629))
229+- Update tree-sitter-xml to fix whitespace parsing ([#5685](https://github.com/helix-editor/helix/pull/5685))
230+- Add `Justfile` to the make file-types configuration ([#5687](https://github.com/helix-editor/helix/pull/5687))
231+- 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))
232+- Use the bash grammar and queries for env language ([#5720](https://github.com/helix-editor/helix/pull/5720))
233+- Add podspec files to ruby file-types ([#5811](https://github.com/helix-editor/helix/pull/5811))
234+- Recognize `.C` and `.H` file-types as C++ ([#5808](https://github.com/helix-editor/helix/pull/5808))
235+- Recognize plist and mobileconfig files as XML ([#5863](https://github.com/helix-editor/helix/pull/5863))
236+- Fix `select` indentation in Go ([#5713](https://github.com/helix-editor/helix/pull/5713))
237+- Check for external file modifications when writing ([#5805](https://github.com/helix-editor/helix/pull/5805))
238+- Recognize containerfiles as dockerfile syntax ([#5873](https://github.com/helix-editor/helix/pull/5873))
239+- Update godot grammar and queries ([#5944](https://github.com/helix-editor/helix/pull/5944), [#6186](https://github.com/helix-editor/helix/pull/6186))
240+- Improve DHall highlights ([#5959](https://github.com/helix-editor/helix/pull/5959))
241+- Recognize `.env.dist` and `source.env` as env language ([#6003](https://github.com/helix-editor/helix/pull/6003))
242+- Update tree-sitter-git-rebase ([#6030](https://github.com/helix-editor/helix/pull/6030), [#6094](https://github.com/helix-editor/helix/pull/6094))
243+- Improve SQL highlights ([#6041](https://github.com/helix-editor/helix/pull/6041))
244+- Improve markdown highlights and inject LaTeX ([#6100](https://github.com/helix-editor/helix/pull/6100))
245+- Add textobject queries for Elm ([#6084](https://github.com/helix-editor/helix/pull/6084))
246+- Recognize graphql schema file type ([#6159](https://github.com/helix-editor/helix/pull/6159))
247+- Improve highlighting in comments ([#6143](https://github.com/helix-editor/helix/pull/6143))
248+- Improve highlighting for JavaScript/TypeScript/ECMAScript languages ([#6205](https://github.com/helix-editor/helix/pull/6205))
249+- 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))
250+- Improve Go highlights ([#6204](https://github.com/helix-editor/helix/pull/6204))
251+- Highlight unchecked sqlx functions as SQL in Rust ([#6256](https://github.com/helix-editor/helix/pull/6256))
252+- Improve Erlang highlights ([cdd6c8d](https://github.com/helix-editor/helix/commit/cdd6c8d))
253+- Improve Nix highlights ([fb4d703](https://github.com/helix-editor/helix/commit/fb4d703))
254+- Improve gdscript highlights ([#6311](https://github.com/helix-editor/helix/pull/6311))
255+- Improve Vlang highlights ([#6279](https://github.com/helix-editor/helix/pull/6279))
256+- Improve Makefile highlights ([#6339](https://github.com/helix-editor/helix/pull/6339))
257+- Remove auto-pair for `'` in OCaml ([#6381](https://github.com/helix-editor/helix/pull/6381))
258+- Fix indents in switch statements in ECMA languages ([#6369](https://github.com/helix-editor/helix/pull/6369))
259+- Recognize xlb and storyboard file-types as XML ([#6407](https://github.com/helix-editor/helix/pull/6407))
260+- Recognize cts and mts file-types as TypeScript ([#6424](https://github.com/helix-editor/helix/pull/6424))
261+- Recognize SVG file-type as XML ([#6431](https://github.com/helix-editor/helix/pull/6431))
262+- Add theme scopes for (un)checked list item markup scopes ([#6434](https://github.com/helix-editor/helix/pull/6434))
263+- 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))
264+- Recognize ARB file-type as JSON ([#6452](https://github.com/helix-editor/helix/pull/6452))
265+- Inject markdown into markdown strings in Julia ([#6489](https://github.com/helix-editor/helix/pull/6489))
255266
256267Packaging:
257268
258−- Fix Nix flake devShell for darwin hosts (#5368)
259−- Add Appstream metadata file to `contrib/` (#5643)
260−- Increase the MSRV to 1.65 (#5570, #6185)
261−- Expose the Nix flake's `wrapper` (#5994)
269+- Fix Nix flake devShell for darwin hosts ([#5368](https://github.com/helix-editor/helix/pull/5368))
270+- Add Appstream metadata file to `contrib/` ([#5643](https://github.com/helix-editor/helix/pull/5643))
271+- Increase the MSRV to 1.65 ([#5570](https://github.com/helix-editor/helix/pull/5570), [#6185](https://github.com/helix-editor/helix/pull/6185))
272+- Expose the Nix flake's `wrapper` ([#5994](https://github.com/helix-editor/helix/pull/5994))
262273
263274# 22.12 (2022-12-06)
264275