From 1d2021da77176add92961477c68e8fa3c6666426 Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Thu, 6 Jan 2000 14:49:54 +0000 Subject: zsh-workers/9248 --- Completion/Core/_tags | 1 + Doc/Zsh/compsys.yo | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Completion/Core/_tags b/Completion/Core/_tags index e913095c4..208ec32b1 100644 --- a/Completion/Core/_tags +++ b/Completion/Core/_tags @@ -48,6 +48,7 @@ if (( $# )); then case $tag in -) nodef=yes;; *\(\)) "${${tag%%[ ]#\(\)}##[ ]#}" "$@";; + \!*) comptry "${(@)argv:#(${(j:|:)~${=tag[2,-1]}})}";; ?*) comptry ${=tag};; esac done diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo index 5825d79a1..f532ee2d4 100644 --- a/Doc/Zsh/compsys.yo +++ b/Doc/Zsh/compsys.yo @@ -1140,9 +1140,12 @@ example( specifies that, when completing arguments of the command tt(gunzip), files generated by patterns (in this case, those ending in tt(.gz)) and any directories will be presented first, and if that fails, any other files -will be tried. If any string in the value consists of only a hyphen +will be tried. A string starting with an exclamation mark (`tt(!)') +specifies names of tags that are not to be used -- the effect will be +the same as if all other possible tags for the context had been +listed. If any string in the value consists of only a hyphen (`tt(-)'), then only the tags selected by the other strings will be -generated. Normally all tags not explicitly selected will be tried at +generated. Normally all tags not explicitly selected will be tried at the end if the selected tags did not generate any matches. This means that a value of only one hyphen turns off completion in a particular context. -- cgit 1.4.1