Don't evaluate hint keychains twice
This commit is contained in:
parent
2a165468d8
commit
6660988a5b
@ -143,11 +143,19 @@ class HintKeyParser(CommandKeyParser):
|
|||||||
keystring_updated: If a new keystring should be set.
|
keystring_updated: If a new keystring should be set.
|
||||||
"""
|
"""
|
||||||
handled = self._handle_single_key(e)
|
handled = self._handle_single_key(e)
|
||||||
if handled:
|
if handled and self._keystring:
|
||||||
|
# A key has been added to the keystring (Match.partial)
|
||||||
self.keystring_updated.emit(self._keystring)
|
self.keystring_updated.emit(self._keystring)
|
||||||
self._last_press = LastPress.keystring
|
self._last_press = LastPress.keystring
|
||||||
return handled
|
return handled
|
||||||
return self._handle_special_key(e)
|
elif handled:
|
||||||
|
# We handled the key but the keystring is empty. This happens when
|
||||||
|
# match is Match.definitive, so a keychain has been completed.
|
||||||
|
self._last_press = LastPress.none
|
||||||
|
return handled
|
||||||
|
else:
|
||||||
|
# We couldn't find a keychain so we check if it's a special key.
|
||||||
|
return self._handle_special_key(e)
|
||||||
|
|
||||||
def execute(self, cmdstr, keytype, count=None):
|
def execute(self, cmdstr, keytype, count=None):
|
||||||
"""Handle a completed keychain.
|
"""Handle a completed keychain.
|
||||||
|
Loading…
Reference in New Issue
Block a user