From 7a27469ecdfe7db5e8f3519824c8191b0acc0f10 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 27 Feb 2018 12:40:44 +0100 Subject: [PATCH] Handle unknown keys in :bind completion --- qutebrowser/completion/models/configmodel.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/qutebrowser/completion/models/configmodel.py b/qutebrowser/completion/models/configmodel.py index 435eb0643..e89dab227 100644 --- a/qutebrowser/completion/models/configmodel.py +++ b/qutebrowser/completion/models/configmodel.py @@ -80,9 +80,16 @@ def bind(key, *, info): """ model = completionmodel.CompletionModel(column_widths=(20, 60, 20)) data = [] - seq = keyutils.KeySequence.parse(key) - cmd_text = info.keyconf.get_command(seq, 'normal') + try: + seq = keyutils.KeySequence.parse(key) + except keyutils.KeyParseError as e: + seq = None + cmd_text = None + data.append(('', str(e), key)) + + if seq: + cmd_text = info.keyconf.get_command(seq, 'normal') if cmd_text: parser = runners.CommandParser() try: @@ -92,7 +99,8 @@ def bind(key, *, info): else: data.append((cmd_text, '(Current) {}'.format(cmd.desc), key)) - cmd_text = info.keyconf.get_command(seq, 'normal', default=True) + if seq: + cmd_text = info.keyconf.get_command(seq, 'normal') if cmd_text: parser = runners.CommandParser() cmd = parser.parse(cmd_text).cmd