Edward Langley 649d80cb35 refactor(command): decouple keymap bindings from command implementations
Refactor the keymap system to use string-based command names instead of
concrete command struct instantiations. This introduces a Binding enum that
can represent either a command lookup (name + args) or a prefix sub-keymap.

Key changes:
- Keymap now stores Binding enum instead of Arc<dyn Cmd>
- dispatch() accepts CmdRegistry to resolve commands at runtime
- Added bind_args() for commands with arguments
- KeymapSet now owns the command registry
- Removed PrefixKey struct, inlined its logic
- Updated all default keymap bindings to use string names

This enables more flexible command configuration and easier testing.

Co-Authored-By: fiddlerwoaroof/git-smart-commit (unsloth/Qwen3.5-35B-A3B-GGUF:Q5_K_M)
2026-04-04 11:02:00 -07:00
2026-03-31 00:08:28 -07:00
2026-04-02 16:21:45 -07:00
2026-04-03 23:07:13 -07:00
2026-04-02 11:34:22 -07:00
2026-04-03 13:44:26 -07:00
Description
No description provided
626 KiB
Languages
Rust 99.1%
Python 0.6%
Nix 0.3%