Remove hiding of commands
This was often confusing for people - let's instead just hide commands which are not available in normal mode.
This commit is contained in:
parent
009fa845f4
commit
f6cc6677dd
@ -470,7 +470,6 @@ The following arguments are supported for `@cmdutils.argument`:
|
|||||||
- `flag`: Customize the short flag (`-x`) the argument will get.
|
- `flag`: Customize the short flag (`-x`) the argument will get.
|
||||||
- `win_id=True`: Mark the argument as special window ID argument.
|
- `win_id=True`: Mark the argument as special window ID argument.
|
||||||
- `count=True`: Mark the argument as special count argument.
|
- `count=True`: Mark the argument as special count argument.
|
||||||
- `hide=True`: Hide the argument from the documentation.
|
|
||||||
- `completion`: A completion function (see `qutebrowser.completions.models.*`)
|
- `completion`: A completion function (see `qutebrowser.completions.models.*`)
|
||||||
to use when completing arguments for the given command.
|
to use when completing arguments for the given command.
|
||||||
- `choices`: The allowed string choices for the argument.
|
- `choices`: The allowed string choices for the argument.
|
||||||
|
@ -30,6 +30,9 @@ It is possible to run or bind multiple commands by separating them with `;;`.
|
|||||||
|<<bookmark-del,bookmark-del>>|Delete a bookmark.
|
|<<bookmark-del,bookmark-del>>|Delete a bookmark.
|
||||||
|<<bookmark-load,bookmark-load>>|Load a bookmark.
|
|<<bookmark-load,bookmark-load>>|Load a bookmark.
|
||||||
|<<buffer,buffer>>|Select tab by index or url/title best match.
|
|<<buffer,buffer>>|Select tab by index or url/title best match.
|
||||||
|
|<<clear-keychain,clear-keychain>>|Clear the currently entered key chain.
|
||||||
|
|<<clear-messages,clear-messages>>|Clear all message notifications.
|
||||||
|
|<<click-element,click-element>>|Click the element matching the given filter.
|
||||||
|<<close,close>>|Close the current window.
|
|<<close,close>>|Close the current window.
|
||||||
|<<config-clear,config-clear>>|Set all settings back to their default.
|
|<<config-clear,config-clear>>|Set all settings back to their default.
|
||||||
|<<config-cycle,config-cycle>>|Cycle an option between multiple values.
|
|<<config-cycle,config-cycle>>|Cycle an option between multiple values.
|
||||||
@ -45,7 +48,9 @@ It is possible to run or bind multiple commands by separating them with `;;`.
|
|||||||
|<<download-remove,download-remove>>|Remove the last/[count]th download from the list.
|
|<<download-remove,download-remove>>|Remove the last/[count]th download from the list.
|
||||||
|<<download-retry,download-retry>>|Retry the first failed/[count]th download.
|
|<<download-retry,download-retry>>|Retry the first failed/[count]th download.
|
||||||
|<<edit-url,edit-url>>|Navigate to a url formed in an external editor.
|
|<<edit-url,edit-url>>|Navigate to a url formed in an external editor.
|
||||||
|
|<<enter-mode,enter-mode>>|Enter a key mode.
|
||||||
|<<fake-key,fake-key>>|Send a fake keypress or key string to the website or qutebrowser.
|
|<<fake-key,fake-key>>|Send a fake keypress or key string to the website or qutebrowser.
|
||||||
|
|<<follow-selected,follow-selected>>|Follow the selected text.
|
||||||
|<<forward,forward>>|Go forward in the history of the current tab.
|
|<<forward,forward>>|Go forward in the history of the current tab.
|
||||||
|<<fullscreen,fullscreen>>|Toggle fullscreen mode.
|
|<<fullscreen,fullscreen>>|Toggle fullscreen mode.
|
||||||
|<<help,help>>|Show help about a command or setting.
|
|<<help,help>>|Show help about a command or setting.
|
||||||
@ -56,9 +61,14 @@ It is possible to run or bind multiple commands by separating them with `;;`.
|
|||||||
|<<insert-text,insert-text>>|Insert text at cursor position.
|
|<<insert-text,insert-text>>|Insert text at cursor position.
|
||||||
|<<inspector,inspector>>|Toggle the web inspector.
|
|<<inspector,inspector>>|Toggle the web inspector.
|
||||||
|<<jseval,jseval>>|Evaluate a JavaScript string.
|
|<<jseval,jseval>>|Evaluate a JavaScript string.
|
||||||
|
|<<jump-mark,jump-mark>>|Jump to the mark named by `key`.
|
||||||
|<<later,later>>|Execute a command after some time.
|
|<<later,later>>|Execute a command after some time.
|
||||||
|
|<<message-error,message-error>>|Show an error message in the statusbar.
|
||||||
|
|<<message-info,message-info>>|Show an info message in the statusbar.
|
||||||
|
|<<message-warning,message-warning>>|Show a warning message in the statusbar.
|
||||||
|<<messages,messages>>|Show a log of past messages.
|
|<<messages,messages>>|Show a log of past messages.
|
||||||
|<<navigate,navigate>>|Open typical prev/next links or navigate using the URL path.
|
|<<navigate,navigate>>|Open typical prev/next links or navigate using the URL path.
|
||||||
|
|<<nop,nop>>|Do nothing.
|
||||||
|<<open,open>>|Open a URL in the current/[count]th tab.
|
|<<open,open>>|Open a URL in the current/[count]th tab.
|
||||||
|<<open-editor,open-editor>>|Open an external editor with the currently selected form field.
|
|<<open-editor,open-editor>>|Open an external editor with the currently selected form field.
|
||||||
|<<print,print>>|Print the current/[count]th tab.
|
|<<print,print>>|Print the current/[count]th tab.
|
||||||
@ -70,16 +80,25 @@ It is possible to run or bind multiple commands by separating them with `;;`.
|
|||||||
|<<record-macro,record-macro>>|Start or stop recording a macro.
|
|<<record-macro,record-macro>>|Start or stop recording a macro.
|
||||||
|<<reload,reload>>|Reload the current/[count]th tab.
|
|<<reload,reload>>|Reload the current/[count]th tab.
|
||||||
|<<repeat,repeat>>|Repeat a given command.
|
|<<repeat,repeat>>|Repeat a given command.
|
||||||
|
|<<repeat-command,repeat-command>>|Repeat the last executed command.
|
||||||
|<<report,report>>|Report a bug in qutebrowser.
|
|<<report,report>>|Report a bug in qutebrowser.
|
||||||
|<<restart,restart>>|Restart qutebrowser while keeping existing tabs open.
|
|<<restart,restart>>|Restart qutebrowser while keeping existing tabs open.
|
||||||
|<<run-macro,run-macro>>|Run a recorded macro.
|
|<<run-macro,run-macro>>|Run a recorded macro.
|
||||||
|
|<<run-with-count,run-with-count>>|Run a command with the given count.
|
||||||
|<<save,save>>|Save configs and state.
|
|<<save,save>>|Save configs and state.
|
||||||
|
|<<scroll,scroll>>|Scroll the current tab in the given direction.
|
||||||
|
|<<scroll-page,scroll-page>>|Scroll the frame page-wise.
|
||||||
|
|<<scroll-px,scroll-px>>|Scroll the current tab by 'count * dx/dy' pixels.
|
||||||
|
|<<scroll-to-perc,scroll-to-perc>>|Scroll to a specific percentage of the page.
|
||||||
|<<search,search>>|Search for a text on the current page. With no text, clear results.
|
|<<search,search>>|Search for a text on the current page. With no text, clear results.
|
||||||
|
|<<search-next,search-next>>|Continue the search to the ([count]th) next term.
|
||||||
|
|<<search-prev,search-prev>>|Continue the search to the ([count]th) previous term.
|
||||||
|<<session-delete,session-delete>>|Delete a session.
|
|<<session-delete,session-delete>>|Delete a session.
|
||||||
|<<session-load,session-load>>|Load a session.
|
|<<session-load,session-load>>|Load a session.
|
||||||
|<<session-save,session-save>>|Save a session.
|
|<<session-save,session-save>>|Save a session.
|
||||||
|<<set,set>>|Set an option.
|
|<<set,set>>|Set an option.
|
||||||
|<<set-cmd-text,set-cmd-text>>|Preset the statusbar to some text.
|
|<<set-cmd-text,set-cmd-text>>|Preset the statusbar to some text.
|
||||||
|
|<<set-mark,set-mark>>|Set a mark at the current scroll position in the current tab.
|
||||||
|<<spawn,spawn>>|Spawn a command in a shell.
|
|<<spawn,spawn>>|Spawn a command in a shell.
|
||||||
|<<stop,stop>>|Stop loading in the current/[count]th tab.
|
|<<stop,stop>>|Stop loading in the current/[count]th tab.
|
||||||
|<<tab-clone,tab-clone>>|Duplicate the current tab.
|
|<<tab-clone,tab-clone>>|Duplicate the current tab.
|
||||||
@ -209,6 +228,31 @@ The tab index to focus, starting with 1.
|
|||||||
==== note
|
==== note
|
||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
|
|
||||||
|
[[clear-keychain]]
|
||||||
|
=== clear-keychain
|
||||||
|
Clear the currently entered key chain.
|
||||||
|
|
||||||
|
[[clear-messages]]
|
||||||
|
=== clear-messages
|
||||||
|
Clear all message notifications.
|
||||||
|
|
||||||
|
[[click-element]]
|
||||||
|
=== click-element
|
||||||
|
Syntax: +:click-element [*--target* 'target'] [*--force-event*] 'filter' 'value'+
|
||||||
|
|
||||||
|
Click the element matching the given filter.
|
||||||
|
|
||||||
|
The given filter needs to result in exactly one element, otherwise, an error is shown.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'filter'+: How to filter the elements. id: Get an element based on its ID.
|
||||||
|
|
||||||
|
* +'value'+: The value to filter for.
|
||||||
|
|
||||||
|
==== optional arguments
|
||||||
|
* +*-t*+, +*--target*+: How to open the clicked element (normal/tab/tab-bg/window).
|
||||||
|
* +*-f*+, +*--force-event*+: Force generating a fake click event.
|
||||||
|
|
||||||
[[close]]
|
[[close]]
|
||||||
=== close
|
=== close
|
||||||
Close the current window.
|
Close the current window.
|
||||||
@ -382,6 +426,15 @@ The editor which should be launched can be configured via the `editor.command` c
|
|||||||
* +*-r*+, +*--related*+: If opening a new tab, position the tab as related to the current one (like clicking on a link).
|
* +*-r*+, +*--related*+: If opening a new tab, position the tab as related to the current one (like clicking on a link).
|
||||||
|
|
||||||
|
|
||||||
|
[[enter-mode]]
|
||||||
|
=== enter-mode
|
||||||
|
Syntax: +:enter-mode 'mode'+
|
||||||
|
|
||||||
|
Enter a key mode.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'mode'+: The mode to enter.
|
||||||
|
|
||||||
[[fake-key]]
|
[[fake-key]]
|
||||||
=== fake-key
|
=== fake-key
|
||||||
Syntax: +:fake-key [*--global*] 'keystring'+
|
Syntax: +:fake-key [*--global*] 'keystring'+
|
||||||
@ -396,6 +449,15 @@ Send a fake keypress or key string to the website or qutebrowser.
|
|||||||
==== optional arguments
|
==== optional arguments
|
||||||
* +*-g*+, +*--global*+: If given, the keys are sent to the qutebrowser UI.
|
* +*-g*+, +*--global*+: If given, the keys are sent to the qutebrowser UI.
|
||||||
|
|
||||||
|
[[follow-selected]]
|
||||||
|
=== follow-selected
|
||||||
|
Syntax: +:follow-selected [*--tab*]+
|
||||||
|
|
||||||
|
Follow the selected text.
|
||||||
|
|
||||||
|
==== optional arguments
|
||||||
|
* +*-t*+, +*--tab*+: Load the selected link in a new tab.
|
||||||
|
|
||||||
[[forward]]
|
[[forward]]
|
||||||
=== forward
|
=== forward
|
||||||
Syntax: +:forward [*--tab*] [*--bg*] [*--window*]+
|
Syntax: +:forward [*--tab*] [*--bg*] [*--window*]+
|
||||||
@ -576,6 +638,15 @@ Evaluate a JavaScript string.
|
|||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
||||||
|
|
||||||
|
[[jump-mark]]
|
||||||
|
=== jump-mark
|
||||||
|
Syntax: +:jump-mark 'key'+
|
||||||
|
|
||||||
|
Jump to the mark named by `key`.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'key'+: mark identifier; capital indicates a global mark
|
||||||
|
|
||||||
[[later]]
|
[[later]]
|
||||||
=== later
|
=== later
|
||||||
Syntax: +:later 'ms' 'command'+
|
Syntax: +:later 'ms' 'command'+
|
||||||
@ -591,6 +662,36 @@ Execute a command after some time.
|
|||||||
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
||||||
* This command does not replace variables like +\{url\}+.
|
* This command does not replace variables like +\{url\}+.
|
||||||
|
|
||||||
|
[[message-error]]
|
||||||
|
=== message-error
|
||||||
|
Syntax: +:message-error 'text'+
|
||||||
|
|
||||||
|
Show an error message in the statusbar.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'text'+: The text to show.
|
||||||
|
|
||||||
|
[[message-info]]
|
||||||
|
=== message-info
|
||||||
|
Syntax: +:message-info 'text'+
|
||||||
|
|
||||||
|
Show an info message in the statusbar.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'text'+: The text to show.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
How many times to show the message
|
||||||
|
|
||||||
|
[[message-warning]]
|
||||||
|
=== message-warning
|
||||||
|
Syntax: +:message-warning 'text'+
|
||||||
|
|
||||||
|
Show a warning message in the statusbar.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'text'+: The text to show.
|
||||||
|
|
||||||
[[messages]]
|
[[messages]]
|
||||||
=== messages
|
=== messages
|
||||||
Syntax: +:messages [*--plain*] [*--tab*] [*--bg*] [*--window*] ['level']+
|
Syntax: +:messages [*--plain*] [*--tab*] [*--bg*] [*--window*] ['level']+
|
||||||
@ -636,6 +737,10 @@ This tries to automatically click on typical _Previous Page_ or _Next Page_ link
|
|||||||
For `increment` and `decrement`, the number to change the URL by. For `up`, the number of levels to go up in the URL.
|
For `increment` and `decrement`, the number to change the URL by. For `up`, the number of levels to go up in the URL.
|
||||||
|
|
||||||
|
|
||||||
|
[[nop]]
|
||||||
|
=== nop
|
||||||
|
Do nothing.
|
||||||
|
|
||||||
[[open]]
|
[[open]]
|
||||||
=== open
|
=== open
|
||||||
Syntax: +:open [*--related*] [*--bg*] [*--tab*] [*--window*] [*--secure*] [*--private*]
|
Syntax: +:open [*--related*] [*--bg*] [*--tab*] [*--window*] [*--secure*] [*--private*]
|
||||||
@ -778,6 +883,13 @@ Repeat a given command.
|
|||||||
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
||||||
* This command does not replace variables like +\{url\}+.
|
* This command does not replace variables like +\{url\}+.
|
||||||
|
|
||||||
|
[[repeat-command]]
|
||||||
|
=== repeat-command
|
||||||
|
Repeat the last executed command.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
Which count to pass the command.
|
||||||
|
|
||||||
[[report]]
|
[[report]]
|
||||||
=== report
|
=== report
|
||||||
Report a bug in qutebrowser.
|
Report a bug in qutebrowser.
|
||||||
@ -798,6 +910,26 @@ Run a recorded macro.
|
|||||||
==== count
|
==== count
|
||||||
How many times to run the macro.
|
How many times to run the macro.
|
||||||
|
|
||||||
|
[[run-with-count]]
|
||||||
|
=== run-with-count
|
||||||
|
Syntax: +:run-with-count 'count-arg' 'command'+
|
||||||
|
|
||||||
|
Run a command with the given count.
|
||||||
|
|
||||||
|
If run_with_count itself is run with a count, it multiplies count_arg.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'count-arg'+: The count to pass to the command.
|
||||||
|
* +'command'+: The command to run, with optional args.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
The count that run_with_count itself received.
|
||||||
|
|
||||||
|
==== note
|
||||||
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
|
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
||||||
|
* This command does not replace variables like +\{url\}+.
|
||||||
|
|
||||||
[[save]]
|
[[save]]
|
||||||
=== save
|
=== save
|
||||||
Syntax: +:save ['what' ['what' ...]]+
|
Syntax: +:save ['what' ['what' ...]]+
|
||||||
@ -808,6 +940,70 @@ Save configs and state.
|
|||||||
* +'what'+: What to save (`config`/`key-config`/`cookies`/...). If not given, everything is saved.
|
* +'what'+: What to save (`config`/`key-config`/`cookies`/...). If not given, everything is saved.
|
||||||
|
|
||||||
|
|
||||||
|
[[scroll]]
|
||||||
|
=== scroll
|
||||||
|
Syntax: +:scroll 'direction'+
|
||||||
|
|
||||||
|
Scroll the current tab in the given direction.
|
||||||
|
|
||||||
|
Note you can use `:run-with-count` to have a keybinding with a bigger scroll increment.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'direction'+: In which direction to scroll (up/down/left/right/top/bottom).
|
||||||
|
|
||||||
|
|
||||||
|
==== count
|
||||||
|
multiplier
|
||||||
|
|
||||||
|
[[scroll-page]]
|
||||||
|
=== scroll-page
|
||||||
|
Syntax: +:scroll-page [*--top-navigate* 'ACTION'] [*--bottom-navigate* 'ACTION'] 'x' 'y'+
|
||||||
|
|
||||||
|
Scroll the frame page-wise.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'x'+: How many pages to scroll to the right.
|
||||||
|
* +'y'+: How many pages to scroll down.
|
||||||
|
|
||||||
|
==== optional arguments
|
||||||
|
* +*-t*+, +*--top-navigate*+: :navigate action (prev, decrement) to run when scrolling up at the top of the page.
|
||||||
|
|
||||||
|
* +*-b*+, +*--bottom-navigate*+: :navigate action (next, increment) to run when scrolling down at the bottom of the page.
|
||||||
|
|
||||||
|
|
||||||
|
==== count
|
||||||
|
multiplier
|
||||||
|
|
||||||
|
[[scroll-px]]
|
||||||
|
=== scroll-px
|
||||||
|
Syntax: +:scroll-px 'dx' 'dy'+
|
||||||
|
|
||||||
|
Scroll the current tab by 'count * dx/dy' pixels.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'dx'+: How much to scroll in x-direction.
|
||||||
|
* +'dy'+: How much to scroll in y-direction.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
multiplier
|
||||||
|
|
||||||
|
[[scroll-to-perc]]
|
||||||
|
=== scroll-to-perc
|
||||||
|
Syntax: +:scroll-to-perc [*--horizontal*] ['perc']+
|
||||||
|
|
||||||
|
Scroll to a specific percentage of the page.
|
||||||
|
|
||||||
|
The percentage can be given either as argument or as count. If no percentage is given, the page is scrolled to the end.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'perc'+: Percentage to scroll.
|
||||||
|
|
||||||
|
==== optional arguments
|
||||||
|
* +*-x*+, +*--horizontal*+: Scroll horizontally instead of vertically.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
Percentage to scroll.
|
||||||
|
|
||||||
[[search]]
|
[[search]]
|
||||||
=== search
|
=== search
|
||||||
Syntax: +:search [*--reverse*] ['text']+
|
Syntax: +:search [*--reverse*] ['text']+
|
||||||
@ -823,6 +1019,20 @@ Search for a text on the current page. With no text, clear results.
|
|||||||
==== note
|
==== note
|
||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
|
|
||||||
|
[[search-next]]
|
||||||
|
=== search-next
|
||||||
|
Continue the search to the ([count]th) next term.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
How many elements to ignore.
|
||||||
|
|
||||||
|
[[search-prev]]
|
||||||
|
=== search-prev
|
||||||
|
Continue the search to the ([count]th) previous term.
|
||||||
|
|
||||||
|
==== count
|
||||||
|
How many elements to ignore.
|
||||||
|
|
||||||
[[session-delete]]
|
[[session-delete]]
|
||||||
=== session-delete
|
=== session-delete
|
||||||
Syntax: +:session-delete [*--force*] 'name'+
|
Syntax: +:session-delete [*--force*] 'name'+
|
||||||
@ -907,6 +1117,15 @@ The count if given.
|
|||||||
==== note
|
==== note
|
||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
|
|
||||||
|
[[set-mark]]
|
||||||
|
=== set-mark
|
||||||
|
Syntax: +:set-mark 'key'+
|
||||||
|
|
||||||
|
Set a mark at the current scroll position in the current tab.
|
||||||
|
|
||||||
|
==== positional arguments
|
||||||
|
* +'key'+: mark identifier; capital indicates a global mark
|
||||||
|
|
||||||
[[spawn]]
|
[[spawn]]
|
||||||
=== spawn
|
=== spawn
|
||||||
Syntax: +:spawn [*--userscript*] [*--verbose*] [*--detach*] 'cmdline'+
|
Syntax: +:spawn [*--userscript*] [*--verbose*] [*--detach*] 'cmdline'+
|
||||||
@ -1132,14 +1351,11 @@ Decrease the zoom level for the current tab.
|
|||||||
How many steps to zoom out.
|
How many steps to zoom out.
|
||||||
|
|
||||||
|
|
||||||
== Hidden commands
|
== Commands not usable in normal mode
|
||||||
.Quick reference
|
.Quick reference
|
||||||
[options="header",width="75%",cols="25%,75%"]
|
[options="header",width="75%",cols="25%,75%"]
|
||||||
|==============
|
|==============
|
||||||
|Command|Description
|
|Command|Description
|
||||||
|<<clear-keychain,clear-keychain>>|Clear the currently entered key chain.
|
|
||||||
|<<clear-messages,clear-messages>>|Clear all message notifications.
|
|
||||||
|<<click-element,click-element>>|Click the element matching the given filter.
|
|
||||||
|<<command-accept,command-accept>>|Execute the command currently in the commandline.
|
|<<command-accept,command-accept>>|Execute the command currently in the commandline.
|
||||||
|<<command-history-next,command-history-next>>|Go forward in the commandline history.
|
|<<command-history-next,command-history-next>>|Go forward in the commandline history.
|
||||||
|<<command-history-prev,command-history-prev>>|Go back in the commandline history.
|
|<<command-history-prev,command-history-prev>>|Go back in the commandline history.
|
||||||
@ -1147,14 +1363,8 @@ How many steps to zoom out.
|
|||||||
|<<completion-item-focus,completion-item-focus>>|Shift the focus of the completion menu to another item.
|
|<<completion-item-focus,completion-item-focus>>|Shift the focus of the completion menu to another item.
|
||||||
|<<completion-item-yank,completion-item-yank>>|Yank the current completion item into the clipboard.
|
|<<completion-item-yank,completion-item-yank>>|Yank the current completion item into the clipboard.
|
||||||
|<<drop-selection,drop-selection>>|Drop selection and keep selection mode enabled.
|
|<<drop-selection,drop-selection>>|Drop selection and keep selection mode enabled.
|
||||||
|<<enter-mode,enter-mode>>|Enter a key mode.
|
|
||||||
|<<follow-hint,follow-hint>>|Follow a hint.
|
|<<follow-hint,follow-hint>>|Follow a hint.
|
||||||
|<<follow-selected,follow-selected>>|Follow the selected text.
|
|
||||||
|<<jump-mark,jump-mark>>|Jump to the mark named by `key`.
|
|
||||||
|<<leave-mode,leave-mode>>|Leave the mode we're currently in.
|
|<<leave-mode,leave-mode>>|Leave the mode we're currently in.
|
||||||
|<<message-error,message-error>>|Show an error message in the statusbar.
|
|
||||||
|<<message-info,message-info>>|Show an info message in the statusbar.
|
|
||||||
|<<message-warning,message-warning>>|Show a warning message in the statusbar.
|
|
||||||
|<<move-to-end-of-document,move-to-end-of-document>>|Move the cursor or selection to the end of the document.
|
|<<move-to-end-of-document,move-to-end-of-document>>|Move the cursor or selection to the end of the document.
|
||||||
|<<move-to-end-of-line,move-to-end-of-line>>|Move the cursor or selection to the end of line.
|
|<<move-to-end-of-line,move-to-end-of-line>>|Move the cursor or selection to the end of line.
|
||||||
|<<move-to-end-of-next-block,move-to-end-of-next-block>>|Move the cursor or selection to the end of next block.
|
|<<move-to-end-of-next-block,move-to-end-of-next-block>>|Move the cursor or selection to the end of next block.
|
||||||
@ -1170,11 +1380,9 @@ How many steps to zoom out.
|
|||||||
|<<move-to-start-of-line,move-to-start-of-line>>|Move the cursor or selection to the start of the line.
|
|<<move-to-start-of-line,move-to-start-of-line>>|Move the cursor or selection to the start of the line.
|
||||||
|<<move-to-start-of-next-block,move-to-start-of-next-block>>|Move the cursor or selection to the start of next block.
|
|<<move-to-start-of-next-block,move-to-start-of-next-block>>|Move the cursor or selection to the start of next block.
|
||||||
|<<move-to-start-of-prev-block,move-to-start-of-prev-block>>|Move the cursor or selection to the start of previous block.
|
|<<move-to-start-of-prev-block,move-to-start-of-prev-block>>|Move the cursor or selection to the start of previous block.
|
||||||
|<<nop,nop>>|Do nothing.
|
|
||||||
|<<prompt-accept,prompt-accept>>|Accept the current prompt.
|
|<<prompt-accept,prompt-accept>>|Accept the current prompt.
|
||||||
|<<prompt-item-focus,prompt-item-focus>>|Shift the focus of the prompt file completion menu to another item.
|
|<<prompt-item-focus,prompt-item-focus>>|Shift the focus of the prompt file completion menu to another item.
|
||||||
|<<prompt-open-download,prompt-open-download>>|Immediately open a download.
|
|<<prompt-open-download,prompt-open-download>>|Immediately open a download.
|
||||||
|<<repeat-command,repeat-command>>|Repeat the last executed command.
|
|
||||||
|<<rl-backward-char,rl-backward-char>>|Move back a character.
|
|<<rl-backward-char,rl-backward-char>>|Move back a character.
|
||||||
|<<rl-backward-delete-char,rl-backward-delete-char>>|Delete the character before the cursor.
|
|<<rl-backward-delete-char,rl-backward-delete-char>>|Delete the character before the cursor.
|
||||||
|<<rl-backward-kill-word,rl-backward-kill-word>>|Remove chars from the cursor to the beginning of the word.
|
|<<rl-backward-kill-word,rl-backward-kill-word>>|Remove chars from the cursor to the beginning of the word.
|
||||||
@ -1190,41 +1398,8 @@ How many steps to zoom out.
|
|||||||
|<<rl-unix-line-discard,rl-unix-line-discard>>|Remove chars backward from the cursor to the beginning of the line.
|
|<<rl-unix-line-discard,rl-unix-line-discard>>|Remove chars backward from the cursor to the beginning of the line.
|
||||||
|<<rl-unix-word-rubout,rl-unix-word-rubout>>|Remove chars from the cursor to the beginning of the word.
|
|<<rl-unix-word-rubout,rl-unix-word-rubout>>|Remove chars from the cursor to the beginning of the word.
|
||||||
|<<rl-yank,rl-yank>>|Paste the most recently deleted text.
|
|<<rl-yank,rl-yank>>|Paste the most recently deleted text.
|
||||||
|<<run-with-count,run-with-count>>|Run a command with the given count.
|
|
||||||
|<<scroll,scroll>>|Scroll the current tab in the given direction.
|
|
||||||
|<<scroll-page,scroll-page>>|Scroll the frame page-wise.
|
|
||||||
|<<scroll-px,scroll-px>>|Scroll the current tab by 'count * dx/dy' pixels.
|
|
||||||
|<<scroll-to-perc,scroll-to-perc>>|Scroll to a specific percentage of the page.
|
|
||||||
|<<search-next,search-next>>|Continue the search to the ([count]th) next term.
|
|
||||||
|<<search-prev,search-prev>>|Continue the search to the ([count]th) previous term.
|
|
||||||
|<<set-mark,set-mark>>|Set a mark at the current scroll position in the current tab.
|
|
||||||
|<<toggle-selection,toggle-selection>>|Toggle caret selection mode.
|
|<<toggle-selection,toggle-selection>>|Toggle caret selection mode.
|
||||||
|==============
|
|==============
|
||||||
[[clear-keychain]]
|
|
||||||
=== clear-keychain
|
|
||||||
Clear the currently entered key chain.
|
|
||||||
|
|
||||||
[[clear-messages]]
|
|
||||||
=== clear-messages
|
|
||||||
Clear all message notifications.
|
|
||||||
|
|
||||||
[[click-element]]
|
|
||||||
=== click-element
|
|
||||||
Syntax: +:click-element [*--target* 'target'] [*--force-event*] 'filter' 'value'+
|
|
||||||
|
|
||||||
Click the element matching the given filter.
|
|
||||||
|
|
||||||
The given filter needs to result in exactly one element, otherwise, an error is shown.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'filter'+: How to filter the elements. id: Get an element based on its ID.
|
|
||||||
|
|
||||||
* +'value'+: The value to filter for.
|
|
||||||
|
|
||||||
==== optional arguments
|
|
||||||
* +*-t*+, +*--target*+: How to open the clicked element (normal/tab/tab-bg/window).
|
|
||||||
* +*-f*+, +*--force-event*+: Force generating a fake click event.
|
|
||||||
|
|
||||||
[[command-accept]]
|
[[command-accept]]
|
||||||
=== command-accept
|
=== command-accept
|
||||||
Execute the command currently in the commandline.
|
Execute the command currently in the commandline.
|
||||||
@ -1263,15 +1438,6 @@ Yank the current completion item into the clipboard.
|
|||||||
=== drop-selection
|
=== drop-selection
|
||||||
Drop selection and keep selection mode enabled.
|
Drop selection and keep selection mode enabled.
|
||||||
|
|
||||||
[[enter-mode]]
|
|
||||||
=== enter-mode
|
|
||||||
Syntax: +:enter-mode 'mode'+
|
|
||||||
|
|
||||||
Enter a key mode.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'mode'+: The mode to enter.
|
|
||||||
|
|
||||||
[[follow-hint]]
|
[[follow-hint]]
|
||||||
=== follow-hint
|
=== follow-hint
|
||||||
Syntax: +:follow-hint ['keystring']+
|
Syntax: +:follow-hint ['keystring']+
|
||||||
@ -1281,58 +1447,10 @@ Follow a hint.
|
|||||||
==== positional arguments
|
==== positional arguments
|
||||||
* +'keystring'+: The hint to follow.
|
* +'keystring'+: The hint to follow.
|
||||||
|
|
||||||
[[follow-selected]]
|
|
||||||
=== follow-selected
|
|
||||||
Syntax: +:follow-selected [*--tab*]+
|
|
||||||
|
|
||||||
Follow the selected text.
|
|
||||||
|
|
||||||
==== optional arguments
|
|
||||||
* +*-t*+, +*--tab*+: Load the selected link in a new tab.
|
|
||||||
|
|
||||||
[[jump-mark]]
|
|
||||||
=== jump-mark
|
|
||||||
Syntax: +:jump-mark 'key'+
|
|
||||||
|
|
||||||
Jump to the mark named by `key`.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'key'+: mark identifier; capital indicates a global mark
|
|
||||||
|
|
||||||
[[leave-mode]]
|
[[leave-mode]]
|
||||||
=== leave-mode
|
=== leave-mode
|
||||||
Leave the mode we're currently in.
|
Leave the mode we're currently in.
|
||||||
|
|
||||||
[[message-error]]
|
|
||||||
=== message-error
|
|
||||||
Syntax: +:message-error 'text'+
|
|
||||||
|
|
||||||
Show an error message in the statusbar.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'text'+: The text to show.
|
|
||||||
|
|
||||||
[[message-info]]
|
|
||||||
=== message-info
|
|
||||||
Syntax: +:message-info 'text'+
|
|
||||||
|
|
||||||
Show an info message in the statusbar.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'text'+: The text to show.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
How many times to show the message
|
|
||||||
|
|
||||||
[[message-warning]]
|
|
||||||
=== message-warning
|
|
||||||
Syntax: +:message-warning 'text'+
|
|
||||||
|
|
||||||
Show a warning message in the statusbar.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'text'+: The text to show.
|
|
||||||
|
|
||||||
[[move-to-end-of-document]]
|
[[move-to-end-of-document]]
|
||||||
=== move-to-end-of-document
|
=== move-to-end-of-document
|
||||||
Move the cursor or selection to the end of the document.
|
Move the cursor or selection to the end of the document.
|
||||||
@ -1426,10 +1544,6 @@ Move the cursor or selection to the start of previous block.
|
|||||||
==== count
|
==== count
|
||||||
How many blocks to move.
|
How many blocks to move.
|
||||||
|
|
||||||
[[nop]]
|
|
||||||
=== nop
|
|
||||||
Do nothing.
|
|
||||||
|
|
||||||
[[prompt-accept]]
|
[[prompt-accept]]
|
||||||
=== prompt-accept
|
=== prompt-accept
|
||||||
Syntax: +:prompt-accept ['value']+
|
Syntax: +:prompt-accept ['value']+
|
||||||
@ -1466,13 +1580,6 @@ If no specific command is given, this will use the system's default application
|
|||||||
==== note
|
==== note
|
||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
* This command does not split arguments after the last argument and handles quotes literally.
|
||||||
|
|
||||||
[[repeat-command]]
|
|
||||||
=== repeat-command
|
|
||||||
Repeat the last executed command.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
Which count to pass the command.
|
|
||||||
|
|
||||||
[[rl-backward-char]]
|
[[rl-backward-char]]
|
||||||
=== rl-backward-char
|
=== rl-backward-char
|
||||||
Move back a character.
|
Move back a character.
|
||||||
@ -1563,113 +1670,6 @@ Paste the most recently deleted text.
|
|||||||
|
|
||||||
This acts like readline's yank.
|
This acts like readline's yank.
|
||||||
|
|
||||||
[[run-with-count]]
|
|
||||||
=== run-with-count
|
|
||||||
Syntax: +:run-with-count 'count-arg' 'command'+
|
|
||||||
|
|
||||||
Run a command with the given count.
|
|
||||||
|
|
||||||
If run_with_count itself is run with a count, it multiplies count_arg.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'count-arg'+: The count to pass to the command.
|
|
||||||
* +'command'+: The command to run, with optional args.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
The count that run_with_count itself received.
|
|
||||||
|
|
||||||
==== note
|
|
||||||
* This command does not split arguments after the last argument and handles quotes literally.
|
|
||||||
* With this command, +;;+ is interpreted literally instead of splitting off a second command.
|
|
||||||
* This command does not replace variables like +\{url\}+.
|
|
||||||
|
|
||||||
[[scroll]]
|
|
||||||
=== scroll
|
|
||||||
Syntax: +:scroll 'direction'+
|
|
||||||
|
|
||||||
Scroll the current tab in the given direction.
|
|
||||||
|
|
||||||
Note you can use `:run-with-count` to have a keybinding with a bigger scroll increment.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'direction'+: In which direction to scroll (up/down/left/right/top/bottom).
|
|
||||||
|
|
||||||
|
|
||||||
==== count
|
|
||||||
multiplier
|
|
||||||
|
|
||||||
[[scroll-page]]
|
|
||||||
=== scroll-page
|
|
||||||
Syntax: +:scroll-page [*--top-navigate* 'ACTION'] [*--bottom-navigate* 'ACTION'] 'x' 'y'+
|
|
||||||
|
|
||||||
Scroll the frame page-wise.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'x'+: How many pages to scroll to the right.
|
|
||||||
* +'y'+: How many pages to scroll down.
|
|
||||||
|
|
||||||
==== optional arguments
|
|
||||||
* +*-t*+, +*--top-navigate*+: :navigate action (prev, decrement) to run when scrolling up at the top of the page.
|
|
||||||
|
|
||||||
* +*-b*+, +*--bottom-navigate*+: :navigate action (next, increment) to run when scrolling down at the bottom of the page.
|
|
||||||
|
|
||||||
|
|
||||||
==== count
|
|
||||||
multiplier
|
|
||||||
|
|
||||||
[[scroll-px]]
|
|
||||||
=== scroll-px
|
|
||||||
Syntax: +:scroll-px 'dx' 'dy'+
|
|
||||||
|
|
||||||
Scroll the current tab by 'count * dx/dy' pixels.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'dx'+: How much to scroll in x-direction.
|
|
||||||
* +'dy'+: How much to scroll in y-direction.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
multiplier
|
|
||||||
|
|
||||||
[[scroll-to-perc]]
|
|
||||||
=== scroll-to-perc
|
|
||||||
Syntax: +:scroll-to-perc [*--horizontal*] ['perc']+
|
|
||||||
|
|
||||||
Scroll to a specific percentage of the page.
|
|
||||||
|
|
||||||
The percentage can be given either as argument or as count. If no percentage is given, the page is scrolled to the end.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'perc'+: Percentage to scroll.
|
|
||||||
|
|
||||||
==== optional arguments
|
|
||||||
* +*-x*+, +*--horizontal*+: Scroll horizontally instead of vertically.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
Percentage to scroll.
|
|
||||||
|
|
||||||
[[search-next]]
|
|
||||||
=== search-next
|
|
||||||
Continue the search to the ([count]th) next term.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
How many elements to ignore.
|
|
||||||
|
|
||||||
[[search-prev]]
|
|
||||||
=== search-prev
|
|
||||||
Continue the search to the ([count]th) previous term.
|
|
||||||
|
|
||||||
==== count
|
|
||||||
How many elements to ignore.
|
|
||||||
|
|
||||||
[[set-mark]]
|
|
||||||
=== set-mark
|
|
||||||
Syntax: +:set-mark 'key'+
|
|
||||||
|
|
||||||
Set a mark at the current scroll position in the current tab.
|
|
||||||
|
|
||||||
==== positional arguments
|
|
||||||
* +'key'+: mark identifier; capital indicates a global mark
|
|
||||||
|
|
||||||
[[toggle-selection]]
|
[[toggle-selection]]
|
||||||
=== toggle-selection
|
=== toggle-selection
|
||||||
Toggle caret selection mode.
|
Toggle caret selection mode.
|
||||||
|
@ -565,8 +565,8 @@ class CommandDispatcher:
|
|||||||
tabbed_browser.tabopen(self._current_url())
|
tabbed_browser.tabopen(self._current_url())
|
||||||
self._tabbed_browser.close_tab(self._current_widget(), add_undo=False)
|
self._tabbed_browser.close_tab(self._current_widget(), add_undo=False)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window',
|
||||||
scope='window', deprecated='Use :tab-give instead!')
|
deprecated='Use :tab-give instead!')
|
||||||
def tab_detach(self):
|
def tab_detach(self):
|
||||||
"""Deprecated way to detach a tab."""
|
"""Deprecated way to detach a tab."""
|
||||||
self.tab_give()
|
self.tab_give()
|
||||||
@ -677,8 +677,7 @@ class CommandDispatcher:
|
|||||||
except navigate.Error as e:
|
except navigate.Error as e:
|
||||||
raise cmdexc.CommandError(e)
|
raise cmdexc.CommandError(e)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def scroll_px(self, dx: int, dy: int, count=1):
|
def scroll_px(self, dx: int, dy: int, count=1):
|
||||||
"""Scroll the current tab by 'count * dx/dy' pixels.
|
"""Scroll the current tab by 'count * dx/dy' pixels.
|
||||||
@ -694,8 +693,7 @@ class CommandDispatcher:
|
|||||||
cmdutils.check_overflow(dy, 'int')
|
cmdutils.check_overflow(dy, 'int')
|
||||||
self._current_widget().scroller.delta(dx, dy)
|
self._current_widget().scroller.delta(dx, dy)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def scroll(self, direction: typing.Union[str, int], count=1):
|
def scroll(self, direction: typing.Union[str, int], count=1):
|
||||||
"""Scroll the current tab in the given direction.
|
"""Scroll the current tab in the given direction.
|
||||||
@ -732,8 +730,7 @@ class CommandDispatcher:
|
|||||||
else:
|
else:
|
||||||
func(count=count)
|
func(count=count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
@cmdutils.argument('horizontal', flag='x')
|
@cmdutils.argument('horizontal', flag='x')
|
||||||
def scroll_to_perc(self, perc: float = None, horizontal=False, count=None):
|
def scroll_to_perc(self, perc: float = None, horizontal=False, count=None):
|
||||||
@ -764,8 +761,7 @@ class CommandDispatcher:
|
|||||||
|
|
||||||
self._current_widget().scroller.to_perc(x, y)
|
self._current_widget().scroller.to_perc(x, y)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
@cmdutils.argument('top_navigate', metavar='ACTION',
|
@cmdutils.argument('top_navigate', metavar='ACTION',
|
||||||
choices=('prev', 'decrement'))
|
choices=('prev', 'decrement'))
|
||||||
@ -1388,8 +1384,7 @@ class CommandDispatcher:
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
raise cmdexc.CommandError("Bookmark '{}' not found!".format(url))
|
raise cmdexc.CommandError("Bookmark '{}' not found!".format(url))
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
def follow_selected(self, *, tab=False):
|
def follow_selected(self, *, tab=False):
|
||||||
"""Follow the selected text.
|
"""Follow the selected text.
|
||||||
|
|
||||||
@ -1674,8 +1669,7 @@ class CommandDispatcher:
|
|||||||
|
|
||||||
tab.elements.find_focused(_insert_text_cb)
|
tab.elements.find_focused(_insert_text_cb)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', scope='window',
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
hide=True)
|
|
||||||
@cmdutils.argument('filter_', choices=['id'])
|
@cmdutils.argument('filter_', choices=['id'])
|
||||||
def click_element(self, filter_: str, value, *,
|
def click_element(self, filter_: str, value, *,
|
||||||
target: usertypes.ClickTarget =
|
target: usertypes.ClickTarget =
|
||||||
@ -1780,8 +1774,7 @@ class CommandDispatcher:
|
|||||||
|
|
||||||
tab.search.search(text, **options)
|
tab.search.search(text, **options)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def search_next(self, count=1):
|
def search_next(self, count=1):
|
||||||
"""Continue the search to the ([count]th) next term.
|
"""Continue the search to the ([count]th) next term.
|
||||||
@ -1815,8 +1808,7 @@ class CommandDispatcher:
|
|||||||
tab.search.next_result()
|
tab.search.next_result()
|
||||||
tab.search.next_result(result_cb=cb)
|
tab.search.next_result(result_cb=cb)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
scope='window')
|
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def search_prev(self, count=1):
|
def search_prev(self, count=1):
|
||||||
"""Continue the search to the ([count]th) previous term.
|
"""Continue the search to the ([count]th) previous term.
|
||||||
@ -1850,8 +1842,8 @@ class CommandDispatcher:
|
|||||||
tab.search.prev_result()
|
tab.search.prev_result()
|
||||||
tab.search.prev_result(result_cb=cb)
|
tab.search.prev_result(result_cb=cb)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_next_line(self, count=1):
|
def move_to_next_line(self, count=1):
|
||||||
"""Move the cursor or selection to the next line.
|
"""Move the cursor or selection to the next line.
|
||||||
@ -1861,8 +1853,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_next_line(count)
|
self._current_widget().caret.move_to_next_line(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_prev_line(self, count=1):
|
def move_to_prev_line(self, count=1):
|
||||||
"""Move the cursor or selection to the prev line.
|
"""Move the cursor or selection to the prev line.
|
||||||
@ -1872,8 +1864,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_prev_line(count)
|
self._current_widget().caret.move_to_prev_line(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_next_char(self, count=1):
|
def move_to_next_char(self, count=1):
|
||||||
"""Move the cursor or selection to the next char.
|
"""Move the cursor or selection to the next char.
|
||||||
@ -1883,8 +1875,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_next_char(count)
|
self._current_widget().caret.move_to_next_char(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_prev_char(self, count=1):
|
def move_to_prev_char(self, count=1):
|
||||||
"""Move the cursor or selection to the previous char.
|
"""Move the cursor or selection to the previous char.
|
||||||
@ -1894,8 +1886,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_prev_char(count)
|
self._current_widget().caret.move_to_prev_char(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_end_of_word(self, count=1):
|
def move_to_end_of_word(self, count=1):
|
||||||
"""Move the cursor or selection to the end of the word.
|
"""Move the cursor or selection to the end of the word.
|
||||||
@ -1905,8 +1897,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_end_of_word(count)
|
self._current_widget().caret.move_to_end_of_word(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_next_word(self, count=1):
|
def move_to_next_word(self, count=1):
|
||||||
"""Move the cursor or selection to the next word.
|
"""Move the cursor or selection to the next word.
|
||||||
@ -1916,8 +1908,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_next_word(count)
|
self._current_widget().caret.move_to_next_word(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_prev_word(self, count=1):
|
def move_to_prev_word(self, count=1):
|
||||||
"""Move the cursor or selection to the previous word.
|
"""Move the cursor or selection to the previous word.
|
||||||
@ -1927,20 +1919,20 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_prev_word(count)
|
self._current_widget().caret.move_to_prev_word(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def move_to_start_of_line(self):
|
def move_to_start_of_line(self):
|
||||||
"""Move the cursor or selection to the start of the line."""
|
"""Move the cursor or selection to the start of the line."""
|
||||||
self._current_widget().caret.move_to_start_of_line()
|
self._current_widget().caret.move_to_start_of_line()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def move_to_end_of_line(self):
|
def move_to_end_of_line(self):
|
||||||
"""Move the cursor or selection to the end of line."""
|
"""Move the cursor or selection to the end of line."""
|
||||||
self._current_widget().caret.move_to_end_of_line()
|
self._current_widget().caret.move_to_end_of_line()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_start_of_next_block(self, count=1):
|
def move_to_start_of_next_block(self, count=1):
|
||||||
"""Move the cursor or selection to the start of next block.
|
"""Move the cursor or selection to the start of next block.
|
||||||
@ -1950,8 +1942,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_start_of_next_block(count)
|
self._current_widget().caret.move_to_start_of_next_block(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_start_of_prev_block(self, count=1):
|
def move_to_start_of_prev_block(self, count=1):
|
||||||
"""Move the cursor or selection to the start of previous block.
|
"""Move the cursor or selection to the start of previous block.
|
||||||
@ -1961,8 +1953,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_start_of_prev_block(count)
|
self._current_widget().caret.move_to_start_of_prev_block(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_end_of_next_block(self, count=1):
|
def move_to_end_of_next_block(self, count=1):
|
||||||
"""Move the cursor or selection to the end of next block.
|
"""Move the cursor or selection to the end of next block.
|
||||||
@ -1972,8 +1964,8 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_end_of_next_block(count)
|
self._current_widget().caret.move_to_end_of_next_block(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def move_to_end_of_prev_block(self, count=1):
|
def move_to_end_of_prev_block(self, count=1):
|
||||||
"""Move the cursor or selection to the end of previous block.
|
"""Move the cursor or selection to the end of previous block.
|
||||||
@ -1983,26 +1975,26 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._current_widget().caret.move_to_end_of_prev_block(count)
|
self._current_widget().caret.move_to_end_of_prev_block(count)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def move_to_start_of_document(self):
|
def move_to_start_of_document(self):
|
||||||
"""Move the cursor or selection to the start of the document."""
|
"""Move the cursor or selection to the start of the document."""
|
||||||
self._current_widget().caret.move_to_start_of_document()
|
self._current_widget().caret.move_to_start_of_document()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def move_to_end_of_document(self):
|
def move_to_end_of_document(self):
|
||||||
"""Move the cursor or selection to the end of the document."""
|
"""Move the cursor or selection to the end of the document."""
|
||||||
self._current_widget().caret.move_to_end_of_document()
|
self._current_widget().caret.move_to_end_of_document()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def toggle_selection(self):
|
def toggle_selection(self):
|
||||||
"""Toggle caret selection mode."""
|
"""Toggle caret selection mode."""
|
||||||
self._current_widget().caret.toggle_selection()
|
self._current_widget().caret.toggle_selection()
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', hide=True,
|
@cmdutils.register(instance='command-dispatcher', modes=[KeyMode.caret],
|
||||||
modes=[KeyMode.caret], scope='window')
|
scope='window')
|
||||||
def drop_selection(self):
|
def drop_selection(self):
|
||||||
"""Drop selection and keep selection mode enabled."""
|
"""Drop selection and keep selection mode enabled."""
|
||||||
self._current_widget().caret.drop_selection()
|
self._current_widget().caret.drop_selection()
|
||||||
@ -2145,8 +2137,7 @@ class CommandDispatcher:
|
|||||||
|
|
||||||
ed.edit(url or old_url)
|
ed.edit(url or old_url)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', scope='window',
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
hide=True)
|
|
||||||
def set_mark(self, key):
|
def set_mark(self, key):
|
||||||
"""Set a mark at the current scroll position in the current tab.
|
"""Set a mark at the current scroll position in the current tab.
|
||||||
|
|
||||||
@ -2155,8 +2146,7 @@ class CommandDispatcher:
|
|||||||
"""
|
"""
|
||||||
self._tabbed_browser.set_mark(key)
|
self._tabbed_browser.set_mark(key)
|
||||||
|
|
||||||
@cmdutils.register(instance='command-dispatcher', scope='window',
|
@cmdutils.register(instance='command-dispatcher', scope='window')
|
||||||
hide=True)
|
|
||||||
def jump_mark(self, key):
|
def jump_mark(self, key):
|
||||||
"""Jump to the mark named by `key`.
|
"""Jump to the mark named by `key`.
|
||||||
|
|
||||||
|
@ -902,7 +902,7 @@ class HintManager(QObject):
|
|||||||
except HintingError as e:
|
except HintingError as e:
|
||||||
message.error(str(e))
|
message.error(str(e))
|
||||||
|
|
||||||
@cmdutils.register(instance='hintmanager', scope='tab', hide=True,
|
@cmdutils.register(instance='hintmanager', scope='tab',
|
||||||
modes=[usertypes.KeyMode.hint])
|
modes=[usertypes.KeyMode.hint])
|
||||||
def follow_hint(self, keystring=None):
|
def follow_hint(self, keystring=None):
|
||||||
"""Follow a hint.
|
"""Follow a hint.
|
||||||
|
@ -58,7 +58,6 @@ class Command:
|
|||||||
name: The main name of the command.
|
name: The main name of the command.
|
||||||
maxsplit: The maximum amount of splits to do for the commandline, or
|
maxsplit: The maximum amount of splits to do for the commandline, or
|
||||||
None.
|
None.
|
||||||
hide: Whether to hide the arguments or not.
|
|
||||||
deprecated: False, or a string to describe why a command is deprecated.
|
deprecated: False, or a string to describe why a command is deprecated.
|
||||||
desc: The description of the command.
|
desc: The description of the command.
|
||||||
handler: The handler function to call.
|
handler: The handler function to call.
|
||||||
@ -69,39 +68,37 @@ class Command:
|
|||||||
backend: Which backend the command works with (or None if it works with
|
backend: Which backend the command works with (or None if it works with
|
||||||
both)
|
both)
|
||||||
no_replace_variables: Don't replace variables like {url}
|
no_replace_variables: Don't replace variables like {url}
|
||||||
|
modes: The modes the command can be executed in.
|
||||||
_qute_args: The saved data from @cmdutils.argument
|
_qute_args: The saved data from @cmdutils.argument
|
||||||
_modes: The modes the command can be executed in.
|
|
||||||
_count: The count set for the command.
|
_count: The count set for the command.
|
||||||
_instance: The object to bind 'self' to.
|
_instance: The object to bind 'self' to.
|
||||||
_scope: The scope to get _instance for in the object registry.
|
_scope: The scope to get _instance for in the object registry.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, *, handler, name, instance=None, maxsplit=None,
|
def __init__(self, *, handler, name, instance=None, maxsplit=None,
|
||||||
hide=False, modes=None, not_modes=None, debug=False,
|
modes=None, not_modes=None, debug=False, deprecated=False,
|
||||||
deprecated=False, no_cmd_split=False,
|
no_cmd_split=False, star_args_optional=False, scope='global',
|
||||||
star_args_optional=False, scope='global', backend=None,
|
backend=None, no_replace_variables=False):
|
||||||
no_replace_variables=False):
|
|
||||||
if modes is not None and not_modes is not None:
|
if modes is not None and not_modes is not None:
|
||||||
raise ValueError("Only modes or not_modes can be given!")
|
raise ValueError("Only modes or not_modes can be given!")
|
||||||
if modes is not None:
|
if modes is not None:
|
||||||
for m in modes:
|
for m in modes:
|
||||||
if not isinstance(m, usertypes.KeyMode):
|
if not isinstance(m, usertypes.KeyMode):
|
||||||
raise TypeError("Mode {} is no KeyMode member!".format(m))
|
raise TypeError("Mode {} is no KeyMode member!".format(m))
|
||||||
self._modes = set(modes)
|
self.modes = set(modes)
|
||||||
elif not_modes is not None:
|
elif not_modes is not None:
|
||||||
for m in not_modes:
|
for m in not_modes:
|
||||||
if not isinstance(m, usertypes.KeyMode):
|
if not isinstance(m, usertypes.KeyMode):
|
||||||
raise TypeError("Mode {} is no KeyMode member!".format(m))
|
raise TypeError("Mode {} is no KeyMode member!".format(m))
|
||||||
self._modes = set(usertypes.KeyMode).difference(not_modes)
|
self.modes = set(usertypes.KeyMode).difference(not_modes)
|
||||||
else:
|
else:
|
||||||
self._modes = set(usertypes.KeyMode)
|
self.modes = set(usertypes.KeyMode)
|
||||||
if scope != 'global' and instance is None:
|
if scope != 'global' and instance is None:
|
||||||
raise ValueError("Setting scope without setting instance makes "
|
raise ValueError("Setting scope without setting instance makes "
|
||||||
"no sense!")
|
"no sense!")
|
||||||
|
|
||||||
self.name = name
|
self.name = name
|
||||||
self.maxsplit = maxsplit
|
self.maxsplit = maxsplit
|
||||||
self.hide = hide
|
|
||||||
self.deprecated = deprecated
|
self.deprecated = deprecated
|
||||||
self._instance = instance
|
self._instance = instance
|
||||||
self._scope = scope
|
self._scope = scope
|
||||||
@ -508,8 +505,8 @@ class Command:
|
|||||||
Args:
|
Args:
|
||||||
mode: The usertypes.KeyMode to check.
|
mode: The usertypes.KeyMode to check.
|
||||||
"""
|
"""
|
||||||
if mode not in self._modes:
|
if mode not in self.modes:
|
||||||
mode_names = '/'.join(sorted(m.name for m in self._modes))
|
mode_names = '/'.join(sorted(m.name for m in self.modes))
|
||||||
raise cmdexc.PrerequisitesError(
|
raise cmdexc.PrerequisitesError(
|
||||||
"{}: This command is only allowed in {} mode, not {}.".format(
|
"{}: This command is only allowed in {} mode, not {}.".format(
|
||||||
self.name, mode_names, mode.name))
|
self.name, mode_names, mode.name))
|
||||||
|
@ -222,7 +222,7 @@ class CompletionView(QTreeView):
|
|||||||
self.scrollTo(idx)
|
self.scrollTo(idx)
|
||||||
return idx.child(0, 0)
|
return idx.child(0, 0)
|
||||||
|
|
||||||
@cmdutils.register(instance='completion', hide=True,
|
@cmdutils.register(instance='completion',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
@cmdutils.argument('which', choices=['next', 'prev', 'next-category',
|
@cmdutils.argument('which', choices=['next', 'prev', 'next-category',
|
||||||
'prev-category'])
|
'prev-category'])
|
||||||
@ -369,7 +369,7 @@ class CompletionView(QTreeView):
|
|||||||
scrollbar.setValue(scrollbar.minimum())
|
scrollbar.setValue(scrollbar.minimum())
|
||||||
super().showEvent(e)
|
super().showEvent(e)
|
||||||
|
|
||||||
@cmdutils.register(instance='completion', hide=True,
|
@cmdutils.register(instance='completion',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
def completion_item_del(self):
|
def completion_item_del(self):
|
||||||
"""Delete the current completion item."""
|
"""Delete the current completion item."""
|
||||||
@ -378,7 +378,7 @@ class CompletionView(QTreeView):
|
|||||||
raise cmdexc.CommandError("No item selected!")
|
raise cmdexc.CommandError("No item selected!")
|
||||||
self.model().delete_cur_item(index)
|
self.model().delete_cur_item(index)
|
||||||
|
|
||||||
@cmdutils.register(instance='completion', hide=True,
|
@cmdutils.register(instance='completion',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
def completion_item_yank(self, sel=False):
|
def completion_item_yank(self, sel=False):
|
||||||
"""Yank the current completion item into the clipboard.
|
"""Yank the current completion item into the clipboard.
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
"""Utility functions for completion models."""
|
"""Utility functions for completion models."""
|
||||||
|
|
||||||
from qutebrowser.utils import objreg
|
from qutebrowser.utils import objreg, usertypes
|
||||||
from qutebrowser.commands import cmdutils
|
from qutebrowser.commands import cmdutils
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ def get_cmd_completions(info, include_hidden, include_aliases, prefix=''):
|
|||||||
|
|
||||||
Args:
|
Args:
|
||||||
info: The CompletionInfo.
|
info: The CompletionInfo.
|
||||||
include_hidden: True to include commands annotated with hide=True.
|
include_hidden: Include commands which are not in normal mode.
|
||||||
include_aliases: True to include command aliases.
|
include_aliases: True to include command aliases.
|
||||||
prefix: String to append to the command name.
|
prefix: String to append to the command name.
|
||||||
|
|
||||||
@ -39,8 +39,9 @@ def get_cmd_completions(info, include_hidden, include_aliases, prefix=''):
|
|||||||
cmd_to_keys = info.keyconf.get_reverse_bindings_for('normal')
|
cmd_to_keys = info.keyconf.get_reverse_bindings_for('normal')
|
||||||
for obj in set(cmdutils.cmd_dict.values()):
|
for obj in set(cmdutils.cmd_dict.values()):
|
||||||
hide_debug = obj.debug and not objreg.get('args').debug
|
hide_debug = obj.debug and not objreg.get('args').debug
|
||||||
hide_hidden = obj.hide and not include_hidden
|
hide_mode = (usertypes.KeyMode.normal not in obj.modes and
|
||||||
if not (hide_debug or hide_hidden or obj.deprecated):
|
not include_hidden)
|
||||||
|
if not (hide_debug or hide_mode or obj.deprecated):
|
||||||
bindings = ', '.join(cmd_to_keys.get(obj.name, []))
|
bindings = ', '.join(cmd_to_keys.get(obj.name, []))
|
||||||
cmdlist.append((prefix + obj.name, obj.desc, bindings))
|
cmdlist.append((prefix + obj.name, obj.desc, bindings))
|
||||||
|
|
||||||
|
@ -251,7 +251,7 @@ class ModeManager(QObject):
|
|||||||
self.mode = mode
|
self.mode = mode
|
||||||
self.entered.emit(mode, self._win_id)
|
self.entered.emit(mode, self._win_id)
|
||||||
|
|
||||||
@cmdutils.register(instance='mode-manager', hide=True, scope='window')
|
@cmdutils.register(instance='mode-manager', scope='window')
|
||||||
def enter_mode(self, mode):
|
def enter_mode(self, mode):
|
||||||
"""Enter a key mode.
|
"""Enter a key mode.
|
||||||
|
|
||||||
@ -301,8 +301,7 @@ class ModeManager(QObject):
|
|||||||
self.left.emit(mode, self.mode, self._win_id)
|
self.left.emit(mode, self.mode, self._win_id)
|
||||||
|
|
||||||
@cmdutils.register(instance='mode-manager', name='leave-mode',
|
@cmdutils.register(instance='mode-manager', name='leave-mode',
|
||||||
not_modes=[usertypes.KeyMode.normal], hide=True,
|
not_modes=[usertypes.KeyMode.normal], scope='window')
|
||||||
scope='window')
|
|
||||||
def leave_current_mode(self):
|
def leave_current_mode(self):
|
||||||
"""Leave the mode we're currently in."""
|
"""Leave the mode we're currently in."""
|
||||||
if self.mode == usertypes.KeyMode.normal:
|
if self.mode == usertypes.KeyMode.normal:
|
||||||
@ -328,7 +327,7 @@ class ModeManager(QObject):
|
|||||||
else:
|
else:
|
||||||
return self._eventFilter_keyrelease(event)
|
return self._eventFilter_keyrelease(event)
|
||||||
|
|
||||||
@cmdutils.register(instance='mode-manager', scope='window', hide=True)
|
@cmdutils.register(instance='mode-manager', scope='window')
|
||||||
def clear_keychain(self):
|
def clear_keychain(self):
|
||||||
"""Clear the currently entered key chain."""
|
"""Clear the currently entered key chain."""
|
||||||
self._parsers[self.mode].clear_keystring()
|
self._parsers[self.mode].clear_keystring()
|
||||||
|
@ -364,7 +364,7 @@ class PromptContainer(QWidget):
|
|||||||
widget.hide()
|
widget.hide()
|
||||||
widget.deleteLater()
|
widget.deleteLater()
|
||||||
|
|
||||||
@cmdutils.register(instance='prompt-container', hide=True, scope='window',
|
@cmdutils.register(instance='prompt-container', scope='window',
|
||||||
modes=[usertypes.KeyMode.prompt,
|
modes=[usertypes.KeyMode.prompt,
|
||||||
usertypes.KeyMode.yesno])
|
usertypes.KeyMode.yesno])
|
||||||
def prompt_accept(self, value=None):
|
def prompt_accept(self, value=None):
|
||||||
@ -388,7 +388,7 @@ class PromptContainer(QWidget):
|
|||||||
message.global_bridge.prompt_done.emit(self._prompt.KEY_MODE)
|
message.global_bridge.prompt_done.emit(self._prompt.KEY_MODE)
|
||||||
question.done()
|
question.done()
|
||||||
|
|
||||||
@cmdutils.register(instance='prompt-container', hide=True, scope='window',
|
@cmdutils.register(instance='prompt-container', scope='window',
|
||||||
modes=[usertypes.KeyMode.prompt], maxsplit=0)
|
modes=[usertypes.KeyMode.prompt], maxsplit=0)
|
||||||
def prompt_open_download(self, cmdline: str = None):
|
def prompt_open_download(self, cmdline: str = None):
|
||||||
"""Immediately open a download.
|
"""Immediately open a download.
|
||||||
@ -407,7 +407,7 @@ class PromptContainer(QWidget):
|
|||||||
except UnsupportedOperationError:
|
except UnsupportedOperationError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@cmdutils.register(instance='prompt-container', hide=True, scope='window',
|
@cmdutils.register(instance='prompt-container', scope='window',
|
||||||
modes=[usertypes.KeyMode.prompt])
|
modes=[usertypes.KeyMode.prompt])
|
||||||
@cmdutils.argument('which', choices=['next', 'prev'])
|
@cmdutils.argument('which', choices=['next', 'prev'])
|
||||||
def prompt_item_focus(self, which):
|
def prompt_item_focus(self, which):
|
||||||
|
@ -124,7 +124,7 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
|
|||||||
else:
|
else:
|
||||||
self.set_cmd_text(text)
|
self.set_cmd_text(text)
|
||||||
|
|
||||||
@cmdutils.register(instance='status-command', hide=True,
|
@cmdutils.register(instance='status-command',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
def command_history_prev(self):
|
def command_history_prev(self):
|
||||||
"""Go back in the commandline history."""
|
"""Go back in the commandline history."""
|
||||||
@ -139,7 +139,7 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
|
|||||||
if item:
|
if item:
|
||||||
self.set_cmd_text(item)
|
self.set_cmd_text(item)
|
||||||
|
|
||||||
@cmdutils.register(instance='status-command', hide=True,
|
@cmdutils.register(instance='status-command',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
def command_history_next(self):
|
def command_history_next(self):
|
||||||
"""Go forward in the commandline history."""
|
"""Go forward in the commandline history."""
|
||||||
@ -152,7 +152,7 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
|
|||||||
if item:
|
if item:
|
||||||
self.set_cmd_text(item)
|
self.set_cmd_text(item)
|
||||||
|
|
||||||
@cmdutils.register(instance='status-command', hide=True,
|
@cmdutils.register(instance='status-command',
|
||||||
modes=[usertypes.KeyMode.command], scope='window')
|
modes=[usertypes.KeyMode.command], scope='window')
|
||||||
def command_accept(self):
|
def command_accept(self):
|
||||||
"""Execute the command currently in the commandline."""
|
"""Execute the command currently in the commandline."""
|
||||||
|
@ -48,7 +48,7 @@ class ReadlineBridge:
|
|||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_backward_char(self):
|
def rl_backward_char(self):
|
||||||
"""Move back a character.
|
"""Move back a character.
|
||||||
@ -60,7 +60,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.cursorBackward(False)
|
widget.cursorBackward(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_forward_char(self):
|
def rl_forward_char(self):
|
||||||
"""Move forward a character.
|
"""Move forward a character.
|
||||||
@ -72,7 +72,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.cursorForward(False)
|
widget.cursorForward(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_backward_word(self):
|
def rl_backward_word(self):
|
||||||
"""Move back to the start of the current or previous word.
|
"""Move back to the start of the current or previous word.
|
||||||
@ -84,7 +84,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.cursorWordBackward(False)
|
widget.cursorWordBackward(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_forward_word(self):
|
def rl_forward_word(self):
|
||||||
"""Move forward to the end of the next word.
|
"""Move forward to the end of the next word.
|
||||||
@ -96,7 +96,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.cursorWordForward(False)
|
widget.cursorWordForward(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_beginning_of_line(self):
|
def rl_beginning_of_line(self):
|
||||||
"""Move to the start of the line.
|
"""Move to the start of the line.
|
||||||
@ -108,7 +108,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.home(False)
|
widget.home(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_end_of_line(self):
|
def rl_end_of_line(self):
|
||||||
"""Move to the end of the line.
|
"""Move to the end of the line.
|
||||||
@ -120,7 +120,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.end(False)
|
widget.end(False)
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_unix_line_discard(self):
|
def rl_unix_line_discard(self):
|
||||||
"""Remove chars backward from the cursor to the beginning of the line.
|
"""Remove chars backward from the cursor to the beginning of the line.
|
||||||
@ -134,7 +134,7 @@ class ReadlineBridge:
|
|||||||
self._deleted[widget] = widget.selectedText()
|
self._deleted[widget] = widget.selectedText()
|
||||||
widget.del_()
|
widget.del_()
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_kill_line(self):
|
def rl_kill_line(self):
|
||||||
"""Remove chars from the cursor to the end of the line.
|
"""Remove chars from the cursor to the end of the line.
|
||||||
@ -173,7 +173,7 @@ class ReadlineBridge:
|
|||||||
self._deleted[widget] = widget.selectedText()
|
self._deleted[widget] = widget.selectedText()
|
||||||
widget.del_()
|
widget.del_()
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_unix_word_rubout(self):
|
def rl_unix_word_rubout(self):
|
||||||
"""Remove chars from the cursor to the beginning of the word.
|
"""Remove chars from the cursor to the beginning of the word.
|
||||||
@ -183,7 +183,7 @@ class ReadlineBridge:
|
|||||||
"""
|
"""
|
||||||
self._rubout([' '])
|
self._rubout([' '])
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_unix_filename_rubout(self):
|
def rl_unix_filename_rubout(self):
|
||||||
"""Remove chars from the cursor to the previous path separator.
|
"""Remove chars from the cursor to the previous path separator.
|
||||||
@ -192,7 +192,7 @@ class ReadlineBridge:
|
|||||||
"""
|
"""
|
||||||
self._rubout([' ', '/'])
|
self._rubout([' ', '/'])
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_backward_kill_word(self):
|
def rl_backward_kill_word(self):
|
||||||
"""Remove chars from the cursor to the beginning of the word.
|
"""Remove chars from the cursor to the beginning of the word.
|
||||||
@ -207,7 +207,7 @@ class ReadlineBridge:
|
|||||||
self._deleted[widget] = widget.selectedText()
|
self._deleted[widget] = widget.selectedText()
|
||||||
widget.del_()
|
widget.del_()
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_kill_word(self):
|
def rl_kill_word(self):
|
||||||
"""Remove chars from the cursor to the end of the current word.
|
"""Remove chars from the cursor to the end of the current word.
|
||||||
@ -221,7 +221,7 @@ class ReadlineBridge:
|
|||||||
self._deleted[widget] = widget.selectedText()
|
self._deleted[widget] = widget.selectedText()
|
||||||
widget.del_()
|
widget.del_()
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_yank(self):
|
def rl_yank(self):
|
||||||
"""Paste the most recently deleted text.
|
"""Paste the most recently deleted text.
|
||||||
@ -233,7 +233,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.insert(self._deleted[widget])
|
widget.insert(self._deleted[widget])
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_delete_char(self):
|
def rl_delete_char(self):
|
||||||
"""Delete the character after the cursor.
|
"""Delete the character after the cursor.
|
||||||
@ -245,7 +245,7 @@ class ReadlineBridge:
|
|||||||
return
|
return
|
||||||
widget.del_()
|
widget.del_()
|
||||||
|
|
||||||
@cmdutils.register(instance='readline-bridge', hide=True,
|
@cmdutils.register(instance='readline-bridge',
|
||||||
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
modes=[typ.KeyMode.command, typ.KeyMode.prompt])
|
||||||
def rl_backward_delete_char(self):
|
def rl_backward_delete_char(self):
|
||||||
"""Delete the character before the cursor.
|
"""Delete the character before the cursor.
|
||||||
|
@ -87,8 +87,7 @@ def repeat(times: int, command, win_id):
|
|||||||
commandrunner.run_safely(command)
|
commandrunner.run_safely(command)
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(maxsplit=1, hide=True, no_cmd_split=True,
|
@cmdutils.register(maxsplit=1, no_cmd_split=True, no_replace_variables=True)
|
||||||
no_replace_variables=True)
|
|
||||||
@cmdutils.argument('win_id', win_id=True)
|
@cmdutils.argument('win_id', win_id=True)
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def run_with_count(count_arg: int, command, win_id, count=1):
|
def run_with_count(count_arg: int, command, win_id, count=1):
|
||||||
@ -104,7 +103,7 @@ def run_with_count(count_arg: int, command, win_id, count=1):
|
|||||||
runners.CommandRunner(win_id).run(command, count_arg * count)
|
runners.CommandRunner(win_id).run(command, count_arg * count)
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
def message_error(text):
|
def message_error(text):
|
||||||
"""Show an error message in the statusbar.
|
"""Show an error message in the statusbar.
|
||||||
|
|
||||||
@ -114,7 +113,7 @@ def message_error(text):
|
|||||||
message.error(text)
|
message.error(text)
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def message_info(text, count=1):
|
def message_info(text, count=1):
|
||||||
"""Show an info message in the statusbar.
|
"""Show an info message in the statusbar.
|
||||||
@ -127,7 +126,7 @@ def message_info(text, count=1):
|
|||||||
message.info(text)
|
message.info(text)
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
def message_warning(text):
|
def message_warning(text):
|
||||||
"""Show a warning message in the statusbar.
|
"""Show a warning message in the statusbar.
|
||||||
|
|
||||||
@ -137,7 +136,7 @@ def message_warning(text):
|
|||||||
message.warning(text)
|
message.warning(text)
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
def clear_messages():
|
def clear_messages():
|
||||||
"""Clear all message notifications."""
|
"""Clear all message notifications."""
|
||||||
message.global_bridge.clear_messages.emit()
|
message.global_bridge.clear_messages.emit()
|
||||||
@ -265,7 +264,7 @@ def debug_set_fake_clipboard(s=None):
|
|||||||
utils.fake_clipboard = s
|
utils.fake_clipboard = s
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
@cmdutils.argument('win_id', win_id=True)
|
@cmdutils.argument('win_id', win_id=True)
|
||||||
@cmdutils.argument('count', count=True)
|
@cmdutils.argument('count', count=True)
|
||||||
def repeat_command(win_id, count=None):
|
def repeat_command(win_id, count=None):
|
||||||
@ -347,7 +346,7 @@ def window_only(current_win_id):
|
|||||||
window.close()
|
window.close()
|
||||||
|
|
||||||
|
|
||||||
@cmdutils.register(hide=True)
|
@cmdutils.register()
|
||||||
def nop():
|
def nop():
|
||||||
"""Do nothing."""
|
"""Do nothing."""
|
||||||
return
|
return
|
||||||
|
@ -347,19 +347,19 @@ def generate_commands(filename):
|
|||||||
f.write("= Commands\n\n")
|
f.write("= Commands\n\n")
|
||||||
f.write(commands.__doc__)
|
f.write(commands.__doc__)
|
||||||
normal_cmds = []
|
normal_cmds = []
|
||||||
hidden_cmds = []
|
other_cmds = []
|
||||||
debug_cmds = []
|
debug_cmds = []
|
||||||
for name, cmd in cmdutils.cmd_dict.items():
|
for name, cmd in cmdutils.cmd_dict.items():
|
||||||
if cmd.deprecated:
|
if cmd.deprecated:
|
||||||
continue
|
continue
|
||||||
if cmd.hide:
|
if usertypes.KeyMode.normal not in cmd.modes:
|
||||||
hidden_cmds.append((name, cmd))
|
other_cmds.append((name, cmd))
|
||||||
elif cmd.debug:
|
elif cmd.debug:
|
||||||
debug_cmds.append((name, cmd))
|
debug_cmds.append((name, cmd))
|
||||||
else:
|
else:
|
||||||
normal_cmds.append((name, cmd))
|
normal_cmds.append((name, cmd))
|
||||||
normal_cmds.sort()
|
normal_cmds.sort()
|
||||||
hidden_cmds.sort()
|
other_cmds.sort()
|
||||||
debug_cmds.sort()
|
debug_cmds.sort()
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
f.write("== Normal commands\n")
|
f.write("== Normal commands\n")
|
||||||
@ -368,10 +368,10 @@ def generate_commands(filename):
|
|||||||
for name, cmd in normal_cmds:
|
for name, cmd in normal_cmds:
|
||||||
f.write(_get_command_doc(name, cmd))
|
f.write(_get_command_doc(name, cmd))
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
f.write("== Hidden commands\n")
|
f.write("== Commands not usable in normal mode\n")
|
||||||
f.write(".Quick reference\n")
|
f.write(".Quick reference\n")
|
||||||
f.write(_get_command_quickref(hidden_cmds) + '\n')
|
f.write(_get_command_quickref(other_cmds) + '\n')
|
||||||
for name, cmd in hidden_cmds:
|
for name, cmd in other_cmds:
|
||||||
f.write(_get_command_doc(name, cmd))
|
f.write(_get_command_doc(name, cmd))
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
f.write("== Debugging commands\n")
|
f.write("== Debugging commands\n")
|
||||||
|
@ -338,6 +338,7 @@ class FakeCommand:
|
|||||||
completion = attr.ib(None)
|
completion = attr.ib(None)
|
||||||
maxsplit = attr.ib(None)
|
maxsplit = attr.ib(None)
|
||||||
takes_count = attr.ib(lambda: False)
|
takes_count = attr.ib(lambda: False)
|
||||||
|
modes = attr.ib((usertypes.KeyMode.normal, ))
|
||||||
|
|
||||||
|
|
||||||
class FakeTimer(QObject):
|
class FakeTimer(QObject):
|
||||||
|
@ -142,14 +142,6 @@ class TestRegister:
|
|||||||
pass
|
pass
|
||||||
assert cmdutils.cmd_dict['fun']._instance == 'foobar'
|
assert cmdutils.cmd_dict['fun']._instance == 'foobar'
|
||||||
|
|
||||||
def test_kwargs(self):
|
|
||||||
"""Make sure the other keyword arguments get passed to Command."""
|
|
||||||
@cmdutils.register(hide=True)
|
|
||||||
def fun():
|
|
||||||
"""Blah."""
|
|
||||||
pass
|
|
||||||
assert cmdutils.cmd_dict['fun'].hide
|
|
||||||
|
|
||||||
def test_star_args(self):
|
def test_star_args(self):
|
||||||
"""Check handling of *args."""
|
"""Check handling of *args."""
|
||||||
@cmdutils.register()
|
@cmdutils.register()
|
||||||
|
@ -68,9 +68,10 @@ def cmdutils_stub(monkeypatch, stubs):
|
|||||||
'quit': stubs.FakeCommand(name='quit', desc='quit qutebrowser'),
|
'quit': stubs.FakeCommand(name='quit', desc='quit qutebrowser'),
|
||||||
'open': stubs.FakeCommand(name='open', desc='open a url'),
|
'open': stubs.FakeCommand(name='open', desc='open a url'),
|
||||||
'prompt-yes': stubs.FakeCommand(name='prompt-yes', deprecated=True),
|
'prompt-yes': stubs.FakeCommand(name='prompt-yes', deprecated=True),
|
||||||
'scroll': stubs.FakeCommand(name='scroll',
|
'scroll': stubs.FakeCommand(
|
||||||
|
name='scroll',
|
||||||
desc='Scroll the current tab in the given direction.',
|
desc='Scroll the current tab in the given direction.',
|
||||||
hide=True),
|
modes=()),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user