diff --git a/src/start.zsh b/src/start.zsh index 221e932..ca9f966 100644 --- a/src/start.zsh +++ b/src/start.zsh @@ -21,5 +21,11 @@ _zsh_autosuggest_start() { # Mark for auto-loading the functions that we use autoload -Uz add-zsh-hook is-at-least -# Start the autosuggestion widgets on the next precmd -add-zsh-hook precmd _zsh_autosuggest_start +# If zle is already running, go ahead and start the autosuggestion widgets. +# Otherwise, wait until the next precmd. +if zle; then + _zsh_autosuggest_start + (( ! ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )) && add-zsh-hook precmd _zsh_autosuggest_start +else + add-zsh-hook precmd _zsh_autosuggest_start +fi diff --git a/zsh-autosuggestions.zsh b/zsh-autosuggestions.zsh index 3277dbb..9f5db95 100644 --- a/zsh-autosuggestions.zsh +++ b/zsh-autosuggestions.zsh @@ -854,5 +854,11 @@ _zsh_autosuggest_start() { # Mark for auto-loading the functions that we use autoload -Uz add-zsh-hook is-at-least -# Start the autosuggestion widgets on the next precmd -add-zsh-hook precmd _zsh_autosuggest_start +# If zle is already running, go ahead and start the autosuggestion widgets. +# Otherwise, wait until the next precmd. +if zle; then + _zsh_autosuggest_start + (( ! ${+ZSH_AUTOSUGGEST_MANUAL_REBIND} )) && add-zsh-hook precmd _zsh_autosuggest_start +else + add-zsh-hook precmd _zsh_autosuggest_start +fi