diff options
Diffstat (limited to 'Completion/Base/Completer')
-rw-r--r-- | Completion/Base/Completer/_approximate | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Completion/Base/Completer/_approximate b/Completion/Base/Completer/_approximate index 70c2c926f..a442c9a97 100644 --- a/Completion/Base/Completer/_approximate +++ b/Completion/Base/Completer/_approximate @@ -10,7 +10,7 @@ [[ _matcher_num -gt 1 || "${#:-$PREFIX$SUFFIX}" -le 1 ]] && return 1 -local _comp_correct _correct_expl comax cfgacc match +local _comp_correct _correct_expl _correct_group comax cfgacc match local oldcontext="${curcontext}" opm="$compstate[pattern_match]" if [[ "$1" = -a* ]]; then @@ -58,6 +58,9 @@ if (( ! $+functions[compadd] )); then # else PREFIX="(#a${_comp_correct})$PREFIX" # fi + + (( $_correct_group )) && _correct_expl[_correct_group]=${argv[(R)-*[JV]]} + builtin compadd "$_correct_expl[@]" "$@" } trap 'unfunction compadd' EXIT INT @@ -73,6 +76,8 @@ while [[ _comp_correct -le comax ]]; do _description corrections _correct_expl corrections \ "e:$_comp_correct" "o:$PREFIX$SUFFIX" + _correct_group="$_correct_expl[(I)-*[JV]]" + if _complete; then if zstyle -t ":completion:${curcontext}:" insert-unambiguous && [[ "${#compstate[unambiguous]}" -ge "${#:-$PREFIX$SUFFIX}" ]]; then |