Commit graph

79 commits

Author SHA1 Message Date
eb77164b13
fix: make ignore_alt_text_modifiers actually do what it says 2026-02-20 16:01:07 +01:00
09bb80b268
feat: add more accessible keybinds for key hints overlay
closes #21
2026-02-03 21:01:59 +01:00
15b582243c
fix: ignore modifiers on all modifier keys
This allows combining of modifier key event keybindings without having
to bind all modifier combinations. ie. with this we can use fast_scroll
and jump_mode at the same time by holding both modifiers down.
2026-01-14 11:03:46 +01:00
f75cc9b845
refactor: use command.command_names index and improve logging of commands
We now use the command name index more consistently to allow for
pre-allocating command IDs and better logging when commands are not
found.

This is a major, but hopefully non-breaking, change to command execution.
2025-12-23 13:45:13 +01:00
93c2c87632
feat: map kp_ movement keys as regular keys if the kp_ variants are not explicitly mapped
This makes it possible to use keypad movements without duplicating keybinds.
2025-12-16 13:41:06 +01:00
b08b162a10
refactor: add insert events to keybindview 2025-12-10 17:39:14 +01:00
fe03d0dab4
refactor: render event type in keybindview 2025-12-10 17:19:04 +01:00
5febf537a7
refactor: make keybindview show key event and make it pretty 2025-12-10 16:28:02 +01:00
7df83c7e2b
refactor: add namespace and section to keybind match events 2025-12-10 15:12:01 +01:00
fccab59a36
refactor: optionally generate keybind_match events in keybind module 2025-12-10 14:34:17 +01:00
4c98cf33e3
feat: add config option keybind_mode with workaround ignore_alt_text_modifiers
This option may be set to ignore_alt_text_modifiers to enable a workround
for #417
2025-12-06 18:12:44 +01:00
0f3a64c481
refactor: remove some obsolete TODO comments 2025-12-04 09:11:58 +01:00
6c012d090b
fix: ignore more modifier keys in keybind.log_keyhints_message 2025-12-03 13:53:29 +01:00
4d81123c76
fix: don't add an extra space at the beginning of formatted keybinds 2025-12-02 14:17:40 +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
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
e473ae90f7
refactor: store original config section name in keybind binding sets 2025-12-02 11:44:52 +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
a296471161
refactor: filter hidden commands 2025-12-01 21:49:23 +01:00
632cf8cfb3
refactor: add mode.current_bindings function 2025-12-01 21:37:40 +01:00
c9f43844cb
feat: filter kp_ key bindings from hints window
These are almost always duplicates.
2025-12-01 20:19:06 +01:00
0666893151
refactor: make keybind.Binding public 2025-12-01 15:54:19 +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
9984d5e2b5
feat: add switch_input_mode command to change keybind mode in a mini mode 2025-11-18 16:43:42 +01:00
4cfe6adadd
refactor: change default_cursor config option to an enum 2025-11-18 15:36:19 +01:00
8b50c7a3af
fix: fully deinit keybind.Mode to avoid race when switching modes 2025-11-05 16:39:35 +01:00
3c55ed876b
refactor: allow mocking of root module functions for easier unittesting 2025-10-08 14:18:03 +02:00
65414d2d73
fix: update keybind test case for zig-0.15 2025-09-26 21:05:50 +02:00
4125db2617
fix: Writer.Allocation.initOwnedSlice does not append 2025-09-26 12:51:52 +02:00
bf0d4402ea
refactor: lots more writergate fixes - first successful build 2025-09-25 22:01:29 +02:00
e6b39c274c
refactor: lots and lots of writergate changes 2025-09-24 22:30:18 +02:00
efdad96054
refactor: improve create pattern to avoid leaks 2025-07-19 00:03:30 +02:00
bc2fbec083
refactor: clean-up std.StaticStringMap naming 2025-07-15 13:17:04 +02:00
c5655468e3
fix: make keybind module respect command.suppressed_errors list
Also, make suppressed_errors a static string map for a little extra
performance.
2025-07-15 13:16:56 +02:00
6946cb4010
feat: re-add support for integer command arguments
closes #182
2025-04-08 18:02:39 +02:00
6743c99c12
feat: add per input mode init_command and deinit_command support
closes #92
2025-04-07 21:07:36 +02:00
a1b2737c5d
feat: use explicit error handling for all startup errors 2025-03-25 17:24:34 +01:00
c7e41afeed
feat(keybind): add keybind mode config setting to disable default bindings
closes #193
2025-02-27 13:43:59 +01:00
65a3e50b43
feat(keybind): add inherits keybind config option for multiple inheritance
closes #189
2025-02-24 21:44:56 +01:00
ec3bba2aff
feat: let mini modes inherit gutter line number modes 2025-02-20 21:21:55 +01:00
8a89c888eb
fix: keybind testcases 2025-01-22 22:31:55 +01:00
4f5fa4a3ba
feat(keybind): move selection mode into keybind mode configuration 2025-01-19 19:21:44 +01:00
b73975328b
fix: normalized vaxis windows console input 2025-01-07 16:04:07 +01:00
0c7f19b5dd feat: support matching of shifted keybindings
This allows us to bind things like alt+F and ctrl+?. Binding
with and explicit shift modifier is still allowed, such as alt+shift+f.
2025-01-07 14:53:34 +01:00
dedbb25515
feat: add inheritance between input modes in an input namespace 2025-01-06 20:25:09 +01:00
750bed8a9c fix: matching of alt+shift+ keybindings on windows 2024-12-24 12:31:47 +01:00
afca8a86bc
feat: add configuration option default_cursor 2024-12-20 21:44:35 +01:00