28 lines
816 B
Bash
28 lines
816 B
Bash
|
|
||
|
#--------------------------------------------------------------------#
|
||
|
# Fetch Suggestion #
|
||
|
#--------------------------------------------------------------------#
|
||
|
# Loops through all specified strategies and returns a suggestion
|
||
|
# from the first strategy to provide one.
|
||
|
#
|
||
|
|
||
|
_zsh_autosuggest_fetch_suggestion() {
|
||
|
typeset -g suggestion
|
||
|
local -a strategies
|
||
|
local strategy
|
||
|
|
||
|
# Ensure we are working with an array
|
||
|
strategies=(${=ZSH_AUTOSUGGEST_STRATEGY})
|
||
|
|
||
|
for strategy in $strategies; do
|
||
|
# Try to get a suggestion from this strategy
|
||
|
_zsh_autosuggest_strategy_$strategy "$1"
|
||
|
|
||
|
# Ensure the suggestion matches the prefix
|
||
|
[[ "$suggestion" != "$1"* ]] && unset suggestion
|
||
|
|
||
|
# Break once we've found a valid suggestion
|
||
|
[[ -n "$suggestion" ]] && break
|
||
|
done
|
||
|
}
|