From 665b54c9e4f145c5fe2f448f96270669b40eb6cf Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Fri, 17 Sep 1999 09:22:42 +0000 Subject: zsh-workers/7902 --- Completion/Base/_arguments | 4 ++++ Doc/Zsh/compsys.yo | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments index e8756ea14..7c9e72c1f 100644 --- a/Completion/Base/_arguments +++ b/Completion/Base/_arguments @@ -217,6 +217,10 @@ if [[ "$*" != "$_args_cache_descr" ]]; then if [[ "$1" = *\[*\](|:*) ]]; then descr="${${1#*\[}%%\]*}" 1="${1/\[$descr\]}" + elif [[ -n "$compconfig[autodescribe_options]" && + "$1" = [-+][^:]##:[^:]#[^\\]:[^:]# ]]; then + descr="${${(M)${1#*:}#*[^\\]:}[1,-2]}" + descr="${compconfig[autodescribe_options]//\\%d/$descr}" fi # Description for both the `-foo' and `+foo' form? diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo index 970b958a6..c54fdb46d 100644 --- a/Doc/Zsh/compsys.yo +++ b/Doc/Zsh/compsys.yo @@ -799,7 +799,12 @@ configuration key tt(describe_options) is used to decide if these explanation strings should be printed when options are listed. If it is set to a non-empty string and it doesn't contain the substring `tt(!)var(command)', where `var(command)' is the name of the command -that is completed for, the descriptions will be shown. +that is completed for, the descriptions will be shown. If no +explanation string is given but the tt(autodescribe_options) key is +set and only one argument is described for this var(opt-spec), the +option will be described by the value of tt(autodescribe_options) with +any appearance of the sequence `tt(%d)' in it replaced by the +description for the first argument. ) enditem() @@ -1166,6 +1171,13 @@ listed. If the value string contains substrings of the form `tt(!)var(command)', this will not be done for any of these var(command)s. ) +item(tt(autodescribe_options))( +If set, this string will be used as the description for options which +are not described by the completion function, but that have exactly +one argument. The sequence `tt(%d)' in the value will be replaced by +the description for this argument. Depending on personal preferences, +it may be useful to set this key to something like `tt(specify: %d)'. +) item(tt(describe_values))( Like tt(describe_options), but used when completing value lists. ) -- cgit 1.4.1