A single multi-key mapping should not prematurely complete as that confuses people trying out the feature

See #7073
This commit is contained in:
Kovid Goyal 2024-01-26 20:04:33 +05:30
parent 8c50632a10
commit c95fc3689b
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C
2 changed files with 6 additions and 1 deletions

View file

@ -175,7 +175,7 @@ class Mappings:
self._push_keyboard_mode(sm)
self.debug_print('\n\x1b[35mKeyPress\x1b[m matched sequence prefix, ', end='')
else:
if len(final_actions) == 1:
if len(final_actions) == 1 and not final_actions[0].rest:
self.pop_keyboard_mode()
consumed = self.combine(final_actions[0].definition)
if not consumed:

View file

@ -610,6 +610,11 @@ class TestKeys(BaseTest):
af(tm.actions)
self.ae(len(tm.active_window.key_seqs), 1)
# a single multi-key mapping should not prematurely match
tm = TM('map alt+1>2>3')
self.ae(tm('alt+1', '2'), [True, True])
af(tm.actions)
# changing a multi key mapping
tm = TM('map kitty_mod+p>f new_window')
self.ae(tm('ctrl+shift+p', 'f'), [True, True])