diff options
Diffstat (limited to 'Completion/Core/_tags')
-rw-r--r-- | Completion/Core/_tags | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Completion/Core/_tags b/Completion/Core/_tags index af8dc21dd..f6a7fdc11 100644 --- a/Completion/Core/_tags +++ b/Completion/Core/_tags @@ -63,17 +63,21 @@ if (( $# )); then done done - prios=( "${(@)tags:#}" ) + prio="_prio_arr$(( _prio_num++ ))" + _prio_names[$funcstack]="$prio" + eval "${prio}=( \"\${(@)tags:#}\" )" return 0 fi +local prios="$_prio_names[$funcstack]" + _failed_tags=( "$_failed_tags[@]" "$_last_tags[@]" ) -(( $#prios )) || return 1 +(( ${(P)#prios} )) || return 1 -tags="${prios[1]}:" -shift 1 prios +tags="${${(@P)prios}[1]}:" +shift 1 "$prios" _last_tags=( "${(@s.:.)${${tags#:}%:}}" ) _tried_tags=( "$_tried_tags[@]" "$_last_tags[@]" ) |