Commit graph

2341 commits

Author SHA1 Message Date
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
679927f8bd
fix: add support for non-authorative file URIs from LSPs
This should fix current zls.
2025-11-25 15:48:07 +01:00
bd976e0894
refactor: use Cursor.from_pos in PosToWidthCache.from_pos 2025-11-25 14:45:36 +01:00