summaryrefslogtreecommitdiff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Base/_arguments5
-rw-r--r--Completion/Base/_values5
-rw-r--r--Completion/Core/_alternative5
3 files changed, 9 insertions, 6 deletions
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments
index 29e5764fe..f633b7cf5 100644
--- a/Completion/Base/_arguments
+++ b/Completion/Base/_arguments
@@ -258,8 +258,9 @@ if (( $# )) && comparguments -i "$autod" "$@"; then
# Otherwise we call it with the description-arguments.
eval "action=( $action )"
- _all_labels arguments expl "$descr" \
- "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+ while _next_label arguments expl "$descr"; do
+ "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+ done
fi
fi
fi
diff --git a/Completion/Base/_values b/Completion/Base/_values
index 62cf0e409..eff7b94ce 100644
--- a/Completion/Base/_values
+++ b/Completion/Base/_values
@@ -141,8 +141,9 @@ if compvalues -i "$@"; then
# Otherwise we call it with the description-arguments built above.
eval "action=( $action )"
- _all_labels arguments expl "$descr" \
- "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+ while _next_label arguments expl "$descr"; do
+ "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+ done
fi
fi
diff --git a/Completion/Core/_alternative b/Completion/Core/_alternative
index b038aa8a4..d6aef96b6 100644
--- a/Completion/Core/_alternative
+++ b/Completion/Core/_alternative
@@ -66,8 +66,9 @@ while _tags; do
# Otherwise we call it with the description-arguments built above.
eval "action=( $action )"
- _all_labels "${def%%:*}" expl "$descr" \
- "$action[1]" "$subopts[@]" "${(@)action[2,-1]}"
+ while _next_label "${def%%:*}" expl "$descr"; do
+ "$action[1]" "$subopts[@]" "$expl[@]" "${(@)action[2,-1]}"
+ done
fi
fi
done