Commit graph

2392 commits

Author SHA1 Message Date
d410fabf1b
fix: don't stomp on existing selection when entering helix SEL mode 2025-12-02 16:24:20 +01:00
eba444c6fc
refactor: eliminate redundent healper function 2025-12-02 16:24:20 +01:00
faa54afb8b
refactor: re-write all helix commands to use bound self parameter
This makes implementing commands in helix mode almost identical to
implementing them inside the editor directly.
2025-12-02 16:24:20 +01:00
839f1b8e38
fix: init all cursors in init_helix_select_mode 2025-12-02 16:24:20 +01:00
2b27ef3332
refactor: use orelse in CurSel.to_selection 2025-12-02 16:24:20 +01:00
0cba416ec4
refactor: move goto_line_vim into mode specific commands files 2025-12-02 16:24:20 +01:00
5f242d6cf2
refactor: mark helix mode keybindings that are not implemented 2025-12-02 16:24:20 +01:00
66f8819a19
refactor: move more mode specific commands to helix & vim 2025-12-02 16:24:20 +01:00
8d8f4b82cb
refactor: completely remove inclusive selection mode
Having inclusive mode change a few critical functions behind the sceans
is not a good way to share functionality. Basically every function is
broken in one or the other mode. So we remove it entirely and instead
will rely on different functions for different behaviors.
2025-12-02 16:24:16 +01:00
dd88be893e
refactor: add explicit command for initializing helix select mode 2025-12-02 16:22:38 +01:00
c65583b1ae
fix: remove typo 2025-12-02 16:22:38 +01:00
0ab260a165
refactor: reduce duplication of context getting code in helix mode 2025-12-02 16:22:38 +01:00
7bf532bdfd
fix: make helix move_prev_word_start an exact match to real helix 2025-12-02 16:22:38 +01:00
1755ecb3dd
refactor: simplify disable_selection to never move the cursor 2025-12-02 16:22:38 +01:00
a15ceeb4a7
refactor: split is_not_word_char into char_class and CharClass 2025-12-02 16:22:38 +01:00
1615cd37e8
refactor: add Selection.from_cursor_inclusive 2025-12-02 16:22:38 +01:00
bb53ba0fc1
refactor: add Cursor char_at, char_left/_right, test_left/_right functions 2025-12-02 16:22:37 +01:00
3db11a43c9
Reapply "fix: build fix after rebase/merge"
This reverts commit fd9fa4ee8f.
2025-12-02 16:22:06 +01:00
77b2afdd0c
Reapply "Fixed selection extensions with new helper functions"
This reverts commit 989557fb6d.
2025-12-02 16:21:58 +01:00
7410435c4f
Reapply "Initial attempt to fix prev and next word movement"
This reverts commit 6f1806cd95.
2025-12-02 16:21:46 +01:00
0136c8b49c
feat: add enable_prefix_keyhints option 2025-12-02 16:20:35 +01:00
3dfb93fbd2
refactor: add key event prefix to hints window title 2025-12-02 14:43:18 +01:00
4e4ec855ed
refactor: tweak max hints window size 2025-12-02 14:38:52 +01:00
d069250d17
fix: formatting of keybind prefix in explicitly enabled keyhint mode 2025-12-02 14:25:54 +01:00
4638c38032
fix: compensate in keyhint formatting for cleaned-up keybind format 2025-12-02 14:24:46 +01:00
83bbbfebe3
fix: set default log level to .info in release builds 2025-12-02 14:24:11 +01:00
4d81123c76
fix: don't add an extra space at the beginning of formatted keybinds 2025-12-02 14:17:40 +01:00
b3425d5c59
refactor: remove duplicate "shell: " in shell execute messages 2025-12-02 13:42:31 +01:00
6f1806cd95
Revert "Initial attempt to fix prev and next word movement"
This reverts commit 608df1518a.
2025-12-02 13:29:31 +01:00
989557fb6d
Revert "Fixed selection extensions with new helper functions"
This reverts commit 1bae864022.
2025-12-02 13:29:25 +01:00
fd9fa4ee8f
Revert "fix: build fix after rebase/merge"
This reverts commit 423b8c1613.
2025-12-02 13:29:12 +01:00
1803584940
refactor: include unbound keypress in key hints message 2025-12-02 13:25:53 +01:00
67c6965eaa
refactor: use scoped log in keybind module 2025-12-02 13:25:33 +01:00
fb5c67280f
refactor: drop level prefix from std.log error and info messages
Errors are already logged as errors and info messages don't need any
extra context.
2025-12-02 13:24:26 +01:00
4394940594
refactor: migrate keybind module to std.log 2025-12-02 12:52:23 +01:00
9dd12ad7dc
fix: broken tests 2025-12-02 12:40:08 +01:00
764a8cce41
feat: display keybind namespace and config section in hints window title 2025-12-02 11:45:36 +01:00
e473ae90f7
refactor: store original config section name in keybind binding sets 2025-12-02 11:44:52 +01:00
58f5ebd687
refactor: add text insert begin and end characters to widgetstyles 2025-12-02 09:00:54 +01:00
8dc6f9823d
fix: don't log keybind hints message for modifier key events 2025-12-01 22:30:24 +01:00
49acb2c3d5
feat: log keyhints message on unbound key events 2025-12-01 22:23:32 +01:00
dad8deac7a
refactor: scroll keybinding hints 2025-12-01 22:15:55 +01:00
3012fdcd90
feat: add scroll_keybind_hints command 2025-12-01 22:13:02 +01:00
a296471161
refactor: filter hidden commands 2025-12-01 21:49:23 +01:00
61515cfc3a
refactor: fallback to key event prefix bindings in full hint mode 2025-12-01 21:45:46 +01:00
632cf8cfb3
refactor: add mode.current_bindings function 2025-12-01 21:37:40 +01:00
8f5b880684
refactor: add full input mode hints support to keyhints 2025-12-01 21:36:53 +01:00
125e204ac8
feat: add ctrl+? keybind to enable hints mode 2025-12-01 21:35:58 +01:00
1d38bc36d3
feat: add command to toggle keybind hint mode 2025-12-01 21:33:10 +01:00
8d7fe3c5fe
feat: render keyhints for keybindings that match the current keybind prefix 2025-12-01 20:19:17 +01:00