386453ee61
fix: move keybind command arguments to stack before executing
...
This avoids problems with commands that cause the current mode to be
deleted before the arguments are read such as `enter_mode`.
2024-11-20 19:45:00 +01:00
fdf0c7ada9
fix: add back async commands
2024-11-19 21:57:43 +01:00
dc914ba562
feat: load and edit key bindings in config directory
2024-11-19 18:11:22 +01:00
3af2b09891
feat: generate hints for dynamic keybindings
2024-11-19 18:08:14 +01:00
271f45e78a
fix: keybind tests
2024-11-18 23:15:01 +01:00
Robert Burnett
a74a36b4bc
feat: added some missing features to vim keybinding parser
...
closes : #65
2024-11-18 23:10:07 +01:00
00e2211904
fix: output command name on binding.execute error
2024-11-18 23:00:20 +01:00
729cc696c2
refactor: split keybinds into one file per namespace
2024-11-18 22:59:55 +01:00
45adc6c7ec
refactor: drop static keybind module
2024-11-18 22:06:09 +01:00
932409d6b7
feat: add support for key release dynamic bindings
2024-11-18 21:33:12 +01:00
a8826b5067
refactor: move KeyEvent to input module
2024-11-18 21:31:32 +01:00
5d381dcc7b
refactor: move formatters for input types to input module
2024-11-18 21:26:55 +01:00
031d57a54d
feat: always add a toggle_input_mode keybinding (f2)
...
Even if it is not configured for the mode. This allows the user to switch
to the next mode even if the mode could not be loaded/parsed properly.
2024-11-18 19:30:15 +01:00
22fdff4543
feat: cache command IDs when executing keybindings
2024-11-18 19:29:23 +01:00
6d351080a8
feat: make make "syntax": "flow" and "on_match_failure": "instert" optional in keybind config
2024-11-18 19:27:00 +01:00
93302c0325
fix: ctrl+i binding
2024-11-18 00:24:44 +01:00
44c643815a
fix: move_to_char with dynamic bindings
2024-11-18 00:03:34 +01:00
2f0da48c6c
fix: simplify goto mode bindings
2024-11-17 23:53:37 +01:00
22cc818ad6
fix: caching of keybind.insert_command IDs
2024-11-17 23:32:42 +01:00
e172590ba8
feat: implement scroll_view_center_cycle to replace cmd_cycle3
2024-11-17 22:43:14 +01:00
43c49125f8
feat: add support for non string keybinding arguments
2024-11-17 22:42:14 +01:00
4d09dc4e7e
fix: keybind tests
2024-11-16 03:06:48 +01:00
524e5be47c
feat: add flow native keybinding parser
2024-11-16 03:06:40 +01:00
34f7c0a7bd
feat: start adding mini mode keybindings
2024-11-16 00:49:26 +01:00
4c2128b5dd
feat: remove debugging logs
2024-11-16 00:36:00 +01:00
881bb865f2
fix: don't try to insert non input key events
2024-11-16 00:33:40 +01:00
7351cb7d7c
feat: add flow normal and palette mode keybindings
2024-11-16 00:32:35 +01:00
8ca6e413da
fix: binding key should be lowercase
2024-11-15 23:09:43 +01:00
175d2d968e
fix: break from interating the BindingSet before executing matched command
...
This prevents a crash. If the executed command switches modes the
BindingSet being iterated will be deleted. This commit fixes this by
exiting the iteration on match and executing the command at a point
where it is safe to delete the BindingSet.
2024-11-15 23:04:43 +01:00
4e7ccd1e00
fix: unbreak tests
2024-11-15 22:55:34 +01:00
6040ac5e1f
feat: log mode unloading
2024-11-15 22:53:41 +01:00
4ef7c149b8
feat: add remaining home screen dynamic bindings
2024-11-15 22:52:39 +01:00
2893347da7
fix: skip to next binding on parse error
2024-11-15 22:33:06 +01:00
f016277621
feat: improve logging of keybind parsing errors
2024-11-15 22:06:24 +01:00
14167d7869
refactor: log event and match counts in dynamic keybind
2024-11-15 21:16:32 +01:00
18f321bf41
refactor: move input types to new module and use directly use libvaxis types
2024-11-15 21:16:31 +01:00
Robert Burnett
e08c2aa3ba
temporary fix for sequences being broken
2024-11-15 16:12:49 +01:00
Robert Burnett
bb3bea0a7f
more bindings
2024-11-15 16:12:49 +01:00
Robert Burnett
b957e53bad
get some basic vim navigation working
2024-11-15 16:12:49 +01:00
cf0cf7aaa6
refactor: add logging to keybind matcher and clean-up match state
2024-11-14 22:12:39 +01:00
00597ce93f
refactor: merge BindingSet functions init and load_json
2024-11-14 18:36:44 +01:00
ce76589f5c
refactor: load just a single binding set into each keybind handler
2024-11-14 18:31:34 +01:00
a80b613606
fix: re-work dynamic keybind allocation to fix some corruption
2024-11-14 18:01:38 +01:00
ce96caa3fc
fix: decode egc correctly in dynamic keybind module
2024-11-13 23:23:21 +01:00
2f201c7886
fix: prevent crash from keybind namespace and mode names going out of scope
2024-11-13 23:13:18 +01:00
4200b3c1f6
feat: add dynamic bindings for home mode (partial)
2024-11-13 19:06:09 +01:00
3661148daf
feat: lookup dynamic mode
2024-11-13 19:05:29 +01:00
ae3d21ad08
refactor: use the same create interface for all modes
2024-11-13 19:04:35 +01:00
0037695983
feat: add handler wrappers for dynamic keybind modes (incomplete)
2024-11-13 18:22:35 +01:00
7fff8fc529
refactor: move dynamic keybindings to keybind module
2024-11-13 18:22:35 +01:00