summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/completion/models/util.py3
-rw-r--r--qutebrowser/components/misccommands.py6
-rwxr-xr-xscripts/dev/src2asciidoc.py2
3 files changed, 9 insertions, 2 deletions
diff --git a/qutebrowser/completion/models/util.py b/qutebrowser/completion/models/util.py
index 224004d1b..21dcf2e9f 100644
--- a/qutebrowser/completion/models/util.py
+++ b/qutebrowser/completion/models/util.py
@@ -46,7 +46,8 @@ def get_cmd_completions(info, include_hidden, include_aliases, prefix=''):
hide_debug = obj.debug and not objects.args.debug
hide_mode = (usertypes.KeyMode.normal not in obj.modes and
not include_hidden)
- if not (hide_debug or hide_mode or obj.deprecated):
+ hide_ni = obj.name == 'Ni!'
+ if not (hide_debug or hide_mode or obj.deprecated or hide_ni):
bindings = ', '.join(cmd_to_keys.get(obj.name, []))
cmdlist.append((prefix + obj.name, obj.desc, bindings))
diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py
index 5af483aba..120806bfe 100644
--- a/qutebrowser/components/misccommands.py
+++ b/qutebrowser/components/misccommands.py
@@ -385,3 +385,9 @@ def devtools_focus(tab: apitypes.Tab) -> None:
tab.data.splitter.cycle_focus()
except apitypes.InspectorError as e:
raise cmdutils.CommandError(e)
+
+
+@cmdutils.register(name='Ni!')
+def knights_who_say_ni() -> None:
+ """We are the Knights Who Say... 'Ni'!""" # noqa: D400
+ raise cmdutils.CommandError("Do you demand a shrubbery?")
diff --git a/scripts/dev/src2asciidoc.py b/scripts/dev/src2asciidoc.py
index 4f05f98ca..6f6f0b1a8 100755
--- a/scripts/dev/src2asciidoc.py
+++ b/scripts/dev/src2asciidoc.py
@@ -375,7 +375,7 @@ def generate_commands(filename):
other_cmds = []
debug_cmds = []
for name, cmd in objects.commands.items():
- if cmd.deprecated:
+ if cmd.deprecated or name == 'Ni!':
continue
if usertypes.KeyMode.normal not in cmd.modes:
other_cmds.append((name, cmd))