Unnamed repository; edit this file 'description' to name the repository.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
3

0.6.0 (2022-01-04)

Happy new year and a big shout out to all the contributors! We had 55 contributors in this release.

Helix has popped up in DPorts and Fedora Linux via COPR (#1270)

As usual the following is a brief summary, refer to the git history for a full log:

Breaking changes:

  • fix: Normalize backtab into shift-tab

Features:

  • Macros (#1234)
  • Add reverse search functionality (#958)
  • Allow keys to be mapped to sequences of commands (#589)
  • Make it possible to keybind TypableCommands (#1169)
  • Detect workspace root using language markers (#1370)
  • Add WORD textobject (#991)
  • Add LSP rename_symbol (space-r) (#1011)
  • Added workspace_symbol_picker (#1041)
  • Detect filetype from shebang line (#1001)
  • Allow piping from stdin into a buffer on startup (#996)
  • Add auto pairs for same-char pairs (#1219)
  • Update settings at runtime (#798)
  • Enable thin LTO (cccc194)

Commands: - :wonly -- window only (#1057) - buffer-close (:bc, :bclose) (#1035) - Add : and :goto commands (#1128) - :sort command (#1288) - Add m textobject for pair under cursor (#961) - Implement "Goto next buffer / Goto previous buffer" commands (#950) - Implement "Goto last modification" command (#1067) - Add trim_selections command (#1092) - Add movement shortcut for history (#1088) - Add command to inc/dec number under cursor (#1027) - Add support for dates for increment/decrement - Align selections (&) (#1101) - Implement no-yank delete/change (#1099) - Implement black hole register (#1165) - gf as goto_file (gf) (#1102) - Add last modified file (gm) (#1093) - ensure_selections_forward (#1393) - Readline style insert mode (#1039)

Usability improvements and fixes:

  • Detect filetype on :write (#1141)
  • Add single and double quotes to matching pairs (#995)
  • Launch with defaults upon invalid config/theme (rather than panicking) (#982)
  • If switching away from an empty scratch buffer, remove it (#935)
  • Truncate the starts of file paths instead of the ends in picker (#951)
  • Truncate the start of file paths in the StatusLine (#1351)
  • Prevent picker from previewing binaries or large file (#939)
  • Inform when reaching undo/redo bounds (#981)
  • search_impl will only align cursor center when it isn't in view (#959)
  • Add , , , Delete in prompt mode (#1034)
  • Restore screen position when aborting search (#1047)
  • Buffer picker: show is_modifier flag (#1020)
  • Add commit hash to version info, if present (#957)
  • Implement indent-aware delete (#1120)
  • Jump to end char of surrounding pair from any cursor pos (#1121)
  • File picker configuration (#988)
  • Fix surround cursor position calculation (#1183)
  • Accept count for goto_window (#1033)
  • Make kill_to_line_end behave like emacs (#1235)
  • Only use a single documentation popup (#1241)
  • ui: popup: Don't allow scrolling past the end of content (3307f44c)
  • Open files with spaces in filename, allow opening multiple files (#1231)
  • Allow paste commands to take a count (#1261)
  • Auto pairs selection (#1254)
  • Use a fuzzy matcher for commands (#1386)
  • Add c-s to pick word under doc cursor to prompt line & search completion (#831)
  • Fix :earlier/:later missing changeset update (#1069)
  • Support extend for multiple goto (#909)
  • Add arrow-key bindings for window switching (#933)
  • Implement key ordering for info box (#952)

LSP: - Implement MarkedString rendering (e128a8702) - Don't panic if init fails (d31bef7) - Configurable diagnostic severity (#1325) - Resolve completion item (#1315) - Code action command support (#1304)

Grammars:

New themes:

  • Solarized dark (#999)
  • Solarized light (#1010)
  • Spacebones light (#1131)
  • Monokai Pro (#1206)
  • Base16 Light and Terminal (#1078)
  • and a default 16 color theme, truecolor detection
  • Dracula (#1258)

0.5.0 (2021-10-28)

A big shout out to all the contributors! We had 46 contributors in this release.

Helix has popped up in Scoop, FreeBSD Ports and Gentu GURU!

The following is a quick rundown of the larger changes, there were many more (check the git history for more details).

Breaking changes:

  • A couple of keymaps moved to resolve a few conflicting keybinds.
  • Documentation popups were moved from K to space+k
  • K is now keep_selections which filters selections to only keeps ones matching the regex
  • keep_primary_selection moved from space+space to ,
  • Alt-, is now remove_primary_selection which keeps all selections except the primary one
  • Opening files in a split moved from C-h to C-s
  • Some configuration options moved from a [terminal] section to [editor]. Consult the documentation for more information.

Features:

  • LSP compatibility greatly improved for some implementations (Julia, Python, Typescript)
  • Autocompletion! Completion now triggers automatically after a set idle timeout
  • Completion documentation is now displayed next to the popup (#691)
  • Treesitter textobjects (select a function via mf, class via mc) (#728)
  • Global search across entire workspace space+/ (#651)
  • Relative line number support (#485)
  • Prompts now store a history (72cf86e)
  • :vsplit and :hsplit commands (#639)
  • C-w h/j/k/l can now be used to navigate between splits (#860)
  • C-j and C-k are now alternative keybindings to C-n and C-p in the UI (#876)
  • Shell commands (shell-pipe, pipe-to, shell-insert-output, shell-append-output, keep-pipe) (#547)
  • Searching now defaults to smart case search (case insensitive unless uppercase is used) (#761)
  • The preview pane was improved to highlight and center line ranges
  • The user languages.toml is now merged into defaults, no longer need to copy the entire file (dc57f8dc)
  • Show hidden files in completions (#648)
  • Grammar injections are now properly handled (dd0b15e)
  • v in select mode now switches back to normal mode (#660)
  • View mode can now be triggered as a "sticky" mode (#719)
  • f/t and object selection motions can now be repeated via Alt-. (#891)
  • Statusline now displays total selection count and diagnostics counts for both errors and warnings (#916)

New grammars: