Compare commits

...

3 Commits

Author SHA1 Message Date
Henry Bley-Vroman
1aee80ae2c
Merge 5b1708d3c8 into c3d4e576c9 2023-09-11 22:32:25 +08:00
Henry Bley-Vroman
5b1708d3c8
docs: autosuggestion widgets can be called directly 2022-12-19 12:09:37 -10:00
Henry Bley-Vroman
8036b61ad1
docs: widgets calling autosuggestion widgets must be ignored (#716) 2022-12-19 12:09:28 -10:00

View File

@ -73,6 +73,7 @@ Widgets that modify the buffer and are not found in any of these arrays will fet
**Note:** A widget shouldn't belong to more than one of the above arrays.
**Note:** Any widget which calls one of the [autosuggestion widgets](#autosuggestion-widgets) must be added to `ZSH_AUTOSUGGEST_IGNORE_WIDGETS` before creating the new widget's keymap.
### Disabling suggestion for large buffers
@ -102,9 +103,9 @@ Set `ZSH_AUTOSUGGEST_COMPLETION_IGNORE` to a [glob pattern](http://zsh.sourcefor
**Note:** This only affects the `completion` suggestion strategy.
### Key Bindings
### Autosuggestion widgets
This plugin provides a few widgets that you can use with `bindkey`:
This plugin adds a few [zle widgets](http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#Zle-Widgets):
1. `autosuggest-accept`: Accepts the current suggestion.
2. `autosuggest-execute`: Accepts and executes the current suggestion.
@ -114,12 +115,22 @@ This plugin provides a few widgets that you can use with `bindkey`:
6. `autosuggest-enable`: Re-enables suggestions.
7. `autosuggest-toggle`: Toggles between enabled/disabled suggestions.
For example, this would bind <kbd>ctrl</kbd> + <kbd>space</kbd> to accept the current suggestion.
You can bind any of these widgets to a keyboard shortcut with [`bindkey`](https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#Zle-Builtins). For example, the following command would bind <kbd>ctrl</kbd> + <kbd>space</kbd> to accept the current suggestion.
```sh
bindkey '^ ' autosuggest-accept
```
You can also call any of them directly with `zle`. For example, the following command would accept the current suggestion (for an explanation of `ZSH_AUTOSUGGEST_IGNORE_WIDGETS` see [Widget mapping](#widget-mapping), above).
```sh
my_widget() {
zle autosuggest-accept
}
typeset -ga ZSH_AUTOSUGGEST_IGNORE_WIDGETS
ZSH_AUTOSUGGEST_IGNORE_WIDGETS+=( my_widget )
zle -N my_widget
```
## Troubleshooting