Show errors on invalid --mode argument for :hint

This commit is contained in:
Florian Bruhin 2018-09-30 11:45:59 +02:00
parent d362299e4e
commit 96f28c6f72
3 changed files with 12 additions and 1 deletions

View File

@ -93,6 +93,7 @@ Fixed
be shown for more files such as `qute://help/userscripts.html`.
- Crash when doing initial run on Wayland without XWayland
- Crash when trying to load an empty session file.
- `:hint` with an invalid `--mode=` value now shows a proper error.
Removed
~~~~~~~

View File

@ -32,7 +32,7 @@ import attr
from PyQt5.QtCore import pyqtSlot, QObject, Qt, QUrl
from PyQt5.QtWidgets import QLabel
from qutebrowser.config import config
from qutebrowser.config import config, configexc
from qutebrowser.keyinput import modeman, modeparsers
from qutebrowser.browser import webelem
from qutebrowser.commands import userscripts, cmdexc, cmdutils, runners
@ -726,6 +726,12 @@ class HintManager(QObject):
if mode is None:
mode = config.val.hints.mode
else:
opt = config.instance.get_opt('hints.mode')
try:
opt.typ.to_py(mode)
except configexc.ValidationError as e:
raise cmdexc.CommandError("Invalid mode: {}".format(e))
self._check_args(target, *args)
self._context = HintContext()

View File

@ -15,6 +15,10 @@ Feature: Using hints
And I hint with args "links normal" and follow xyz
Then the error "No hint xyz!" should be shown
Scenario: Using :hint with invalid mode.
When I run :hint --mode=foobar
Then the error "Invalid mode: Invalid value 'foobar' - valid values: number, letter, word" should be shown
### Opening in current or new tab
Scenario: Following a hint and force to open in current tab.