See technique used in `fast-syntax-highlighting`:
- ca2e18bbc9
- http://www.zsh.org/mla/users/2018/msg00424.html
Also see http://www.zsh.org/mla/users/2018/msg00432.html
In async response handler:
- We only want to read data in case of POLLIN or POLLHUP. Not POLLNVAL
or select error.
- We always want to remove the handler, so it doesn't get called in an
infinite loop when error is nval or err.
There is an upstream bug that prevents ctrl-c from resetting the prompt
immediately after a suggestion has been fetched asynchronously. A patch
has been submitted, but a workaround for now is to add `command true`
after the exec.
See https://github.com/zsh-users/zsh-autosuggestions/issues/364
21 lines
778 B
Bash
21 lines
778 B
Bash
|
|
#--------------------------------------------------------------------#
|
|
# Start #
|
|
#--------------------------------------------------------------------#
|
|
|
|
# Start the autosuggestion widgets
|
|
_zsh_autosuggest_start() {
|
|
add-zsh-hook -d precmd _zsh_autosuggest_start
|
|
|
|
_zsh_autosuggest_bind_widgets
|
|
|
|
# Re-bind widgets on every precmd to ensure we wrap other wrappers.
|
|
# Specifically, highlighting breaks if our widgets are wrapped by
|
|
# zsh-syntax-highlighting widgets. This also allows modifications
|
|
# to the widget list variables to take effect on the next precmd.
|
|
add-zsh-hook precmd _zsh_autosuggest_bind_widgets
|
|
}
|
|
|
|
# Start the autosuggestion widgets on the next precmd
|
|
add-zsh-hook precmd _zsh_autosuggest_start
|