summaryrefslogtreecommitdiff
path: root/Completion/Base/Utility/_describe
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Base/Utility/_describe')
-rw-r--r--Completion/Base/Utility/_describe8
1 files changed, 6 insertions, 2 deletions
diff --git a/Completion/Base/Utility/_describe b/Completion/Base/Utility/_describe
index cd891368a..9ad04c224 100644
--- a/Completion/Base/Utility/_describe
+++ b/Completion/Base/Utility/_describe
@@ -78,9 +78,13 @@ while _tags; do
fi
if [[ -n $_mats ]]; then
- compadd "$_opts[@]" "${(@)_expl:/-J/-2V}" -O $_strs -D $_mats -s $_strs
+ compadd "$_opts[@]" "${(@)_expl:/-J/-2V}" -D $_strs - \
+ "${(@M)${(@P)_strs}##([^:\\]|\\?)##}"
+ compadd "$_opts[@]" "${(@)_expl:/-J/-2V}" -D $_mats - \
+ "${(@M)${(@P)_strs}##([^:\\]|\\?)##}"
else
- compadd "$_opts[@]" "${(@)_expl:/-J/-2V}" -O $_strs -a $_strs
+ compadd "$_opts[@]" "${(@)_expl:/-J/-2V}" -D $_strs - \
+ "${(@M)${(@P)_strs}##([^:\\]|\\?)##}"
fi
done
set - "$_argv[@]"