8d7fe3c5fe
feat: render keyhints for keybindings that match the current keybind prefix
2025-12-01 20:19:17 +01:00
c9f43844cb
feat: filter kp_ key bindings from hints window
...
These are almost always duplicates.
2025-12-01 20:19:06 +01:00
42ce0e5a7a
fix: index out of range in vaxis.Layer.draw
2025-12-01 20:19:06 +01:00
824a2a1ee1
feat: add command to change hint window widget style (shift+alt+f9)
2025-12-01 20:19:06 +01:00
e4dba00625
feat: add hint_window widget type
2025-12-01 20:19:06 +01:00
4658c4820f
refactor: remove unused put_at_pos function
2025-12-01 20:19:06 +01:00
0666893151
refactor: make keybind.Binding public
2025-12-01 15:54:19 +01:00
3221e2dd39
refactor: add tui.have_top_layer
2025-12-01 15:43:55 +01:00
aaca270de4
refactor: move render_decoration to WidgetStyle
2025-12-01 15:43:55 +01:00
a1455e8e3d
refactor: move from_client_box and to_client_box to Widget.Box
2025-12-01 15:43:55 +01:00
a6e1087773
feat: add support in keybind module for looking up key sequence prefix matches
...
This is the initial part of some sort of which-key like function.
2025-12-01 15:43:55 +01:00
11d6770913
fix: avoid setting the terminal background color until we know what the system color scheme is
...
This was in the hope that it might fix kitty's behavior with
enable_terminal_color_scheme enabled. Unfortunately it makes no
difference to kitty (kitty stops sending color scheme updates). I
am commiting these changes anyway as it seems a little cleaner to
avoid setting the background color twice on startup.
2025-11-29 11:05:31 +01:00
f99e10652c
refactor: add Editor.with_cursels_const_repeat
2025-11-27 12:34:19 +01:00
c7c271e903
refactor: CurSel.to_selection is internal
2025-11-27 12:34:14 +01:00
8ba6e1843a
refactor: don't special case cursor rendering in inclusive mode
...
This is too confusing. Rendering cursors differently, only in inclusive
mode and only if there is an active selection is too confusing and pushes
a lot of edge cases into otherwise simple commands.
This will likely break a lot of the existing helix commands, but is better
in the long run to fix them anyway.
2025-11-27 12:34:10 +01:00
423b8c1613
fix: build fix after rebase/merge
2025-11-27 12:33:01 +01:00
Jakob Ingvast
1bae864022
Fixed selection extensions with new helper functions
2025-11-27 12:33:01 +01:00
Jakob Ingvast
608df1518a
Initial attempt to fix prev and next word movement
2025-11-27 12:33:01 +01:00
a639201807
fix: remove extra close_file call in mainview.extract_state
2025-11-26 19:21:23 +01:00
7dcde628ac
refactor: drop config file loading message
2025-11-26 19:21:05 +01:00
198ee29abe
refactor: remove verbose log messages in mainview
2025-11-26 19:20:46 +01:00
008950255b
fix: don't respond to editor events in mainview during project switch
2025-11-26 19:20:14 +01:00
335f1bedab
fix: some minor typos
2025-11-26 19:13:05 +01:00
4f68e692d1
refactor: add a lot of logging during change_project
2025-11-26 19:12:27 +01:00
e134cfc949
refactor: use exaustive enum for whitespace
2025-11-26 16:40:08 +01:00
2ca1a742a1
feat: add whitespace_mode external
2025-11-26 16:39:48 +01:00
741096cb43
fix: navigate to editor_file_path only if it's buffer was restored
2025-11-26 16:26:31 +01:00
c8840f0756
fix: make sure project state is freed with the correct allocator
2025-11-26 16:26:31 +01:00
20129ea773
feat: save and restore mainview state when switching projects
2025-11-26 16:26:31 +01:00
bbeba10fe5
refactor: split up mainview write_state and extract_state functions
...
For better reusuability. So we can store/restore state on project switch.
2025-11-26 16:26:31 +01:00
690498fdcc
feat: add modes_can_change_cursor configuration option
2025-11-26 16:26:31 +01:00
c1707b132e
fix: smart select next find mode if find mode is .auto
2025-11-26 12:52:23 +01:00
891b80e5bb
fix: case fold find pattern in find_all_ranges mode .case_folded
2025-11-26 12:48:29 +01:00
29231ad87a
fix: windows build
2025-11-26 12:13:54 +01:00
9f57d8ef28
fix: bump libvaxis grapheme cache size to 32kb
...
This fixes some graphemes getting lost on very large screens with a lot of
text on screen.
2025-11-26 12:08:46 +01:00
50a4336b8c
fix: incorrect line offset in goto_line_and_column
2025-11-26 12:06:56 +01:00
74e7406034
fix: guarantee progress in find_all_ranges when pattern is shorter than a utf8 sequence
2025-11-26 10:22:04 +01:00
99f9f95dbc
fix: use a partial write capable case folding writer in Buffer.find_all_ranges
...
This fixes case insensitive search. Previously the case folding would fail on
input slices that contain partial utf8 sequences, which is normal in the
buffer write process design. Now these partial utf8 sequences are not consumed
and instead pushed to the next write call where they will be completed from the
main buffer contents.
2025-11-26 09:56:39 +01:00
68b17301cd
refactor: use unchecked Utf8View in utf8 transformation
...
Internally we use only validated utf8 and unchecked performs much better
and reduces unused error values.
2025-11-26 09:33:04 +01:00
2520a37a90
feat: add case auto and case insensitive mode to find
2025-11-25 22:48:11 +01:00
abee93d366
refactor: add unicode.is_lowercase
2025-11-25 22:35:14 +01:00
047409cd29
feat: add find_mode parameter to Editor.find_query
2025-11-25 21:51:23 +01:00
64d95ee009
refactor: move FindMode to Buffer
2025-11-25 21:50:36 +01:00
3ebe68a384
refactor: implement find_all_ranges mode .case_folded
2025-11-25 21:43:12 +01:00
37428bd698
refactor: add unicode.case_folded_write
2025-11-25 21:42:51 +01:00
e35a0555f1
feat: port to_upper and to_lower to uucode
2025-11-25 21:14:59 +01:00
2ff0521040
refactor: move all zg LetterCasing usage to Buffer.unicode
2025-11-25 17:16:53 +01:00
57c5066451
fix: add support for non-authorative file URIs from LSPs (part 2)
2025-11-25 17:16:32 +01:00
6c789b3209
feat: change default theme to something more modern and pretty
2025-11-25 17:16:30 +01:00
86ec27893d
feat: implement case insensitive search (part 1)
2025-11-25 15:53:12 +01:00