diff --git a/README.md b/README.md
index a8c1b6c..c4d17e4 100644
--- a/README.md
+++ b/README.md
@@ -72,6 +72,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
@@ -101,9 +102,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.
@@ -113,12 +114,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 ctrl + space 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 ctrl + space 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