fix: allow completion strategy to fallback to history

When completion finds no results, unset suggestion to allow the next
strategy to run instead of blocking with the original input text.
This commit is contained in:
sownt 2025-11-03 13:44:21 +07:00
commit 22ffb41e33
2 changed files with 9 additions and 3 deletions

View file

@ -130,6 +130,9 @@ _zsh_autosuggest_strategy_completion() {
# the second null byte, so trim those off the end. # the second null byte, so trim those off the end.
# See http://www.zsh.org/mla/workers/2015/msg03290.html # See http://www.zsh.org/mla/workers/2015/msg03290.html
suggestion="${${(@0)line}[2]}" suggestion="${${(@0)line}[2]}"
# If the suggestion is the same as the input, treat it as no suggestion
[[ "$suggestion" == "$1" ]] && unset suggestion
} always { } always {
# Destroy the pty # Destroy the pty
zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME

View file

@ -625,6 +625,9 @@ _zsh_autosuggest_strategy_completion() {
# the second null byte, so trim those off the end. # the second null byte, so trim those off the end.
# See http://www.zsh.org/mla/workers/2015/msg03290.html # See http://www.zsh.org/mla/workers/2015/msg03290.html
suggestion="${${(@0)line}[2]}" suggestion="${${(@0)line}[2]}"
# If the suggestion is the same as the input, treat it as no suggestion
[[ "$suggestion" == "$1" ]] && unset suggestion
} always { } always {
# Destroy the pty # Destroy the pty
zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME zpty -d $ZSH_AUTOSUGGEST_COMPLETIONS_PTY_NAME