summaryrefslogtreecommitdiff
path: root/qutebrowser/keyinput/basekeyparser.py
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2018-03-04 21:43:24 +0100
committerFlorian Bruhin <git@the-compiler.org>2018-03-04 21:45:46 +0100
commite2f17c4be10c94331e1b37cc11bf7f10861c1e81 (patch)
tree2036e4d736560a6b9a02acd918e308d6a726eb2f /qutebrowser/keyinput/basekeyparser.py
parent40c3295cd1d6e980d46dc4080b0356e67ee921b2 (diff)
downloadqutebrowser-e2f17c4be10c94331e1b37cc11bf7f10861c1e81.tar.gz
qutebrowser-e2f17c4be10c94331e1b37cc11bf7f10861c1e81.zip
Always prefer exact over partial matches
Diffstat (limited to 'qutebrowser/keyinput/basekeyparser.py')
-rw-r--r--qutebrowser/keyinput/basekeyparser.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py
index e9347fa7b..901e96b55 100644
--- a/qutebrowser/keyinput/basekeyparser.py
+++ b/qutebrowser/keyinput/basekeyparser.py
@@ -102,14 +102,17 @@ class BaseKeyParser(QObject):
"""
assert sequence
assert not isinstance(sequence, str)
+ result = QKeySequence.NoMatch
for seq, cmd in self.bindings.items():
assert not isinstance(seq, str), seq
match = sequence.matches(seq)
- if match != QKeySequence.NoMatch:
+ if match == QKeySequence.ExactMatch:
return (match, cmd)
+ elif match == QKeySequence.PartialMatch:
+ result = QKeySequence.PartialMatch
- return (QKeySequence.NoMatch, None)
+ return (result, None)
def handle(self, e):
"""Handle a new keypress.