Persist register selection in pending keymaps
Previously the register selection (via `"`) would be lost in the middle
of any key sequence longer than one key. For example, `<space>f` would
clear the register selection after the `<space>` making it inaccessible
for the `file_picker` command.
This behavior does not currently have any effect in the default keymap
but might affect custom keymaps. This change aligns the behavior of the
register with count. Making this change allows propagating the register
to the `command_palette` (see the child commit) or other pickers should
we decide to use registers in those in the future. (Interactive global
search for example.)
commit0e083497a5bf24a51ffe2430dcf3a1cca7ad0f9a
authorMichael Davis <mcarsondavis@gmail.com>
dateWed 7 Jun 2023, 09:55 (3 years ago)
parent77e9a22
helix-term/src/ui/editor.rs+2
@@ -943,6 +943,8 @@ impl EditorView {
943943 self.handle_keymap_event(mode, cxt, event);
944944 if self.keymaps.pending().is_empty() {
945945 cxt.editor.count = None
946+ } else {
947+ cxt.editor.selected_register = cxt.register.take();
946948 }
947949 }
948950 }