From 81fc1bf26c99ca62532051559ea3f68141abc026 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Tue, 1 Aug 2000 11:20:59 +0000 Subject: fix for automatically recognised options, don't expect an argument after each of them (12462) --- Completion/Base/_arguments | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Completion/Base') diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments index 6d09871df..2d55800a4 100644 --- a/Completion/Base/_arguments +++ b/Completion/Base/_arguments @@ -87,9 +87,11 @@ if (( long )); then done # Then we walk through the descriptions plus a few builtin ones. + # The last one matches all options; the `special' description and action + # makes those options be completed without an argument description. set -- "$@" '*=FILE*:file:_files' \ - '*=(DIR|PATH)*:directory:_files -/' '*: :' + '*=(DIR|PATH)*:directory:_files -/' '*: : ' while (( $# )); do @@ -147,7 +149,7 @@ if (( long )); then if (( $#tmp )); then tmp=("${(@)tmp//[^a-zA-Z0-9-]}") - if [[ -n "$descr" ]]; then + if [[ -n "$descr" && "$descr" != ': : ' ]]; then cache=( "$cache[@]" "${(@)^tmp}${descr}" ) else cache=( "$cache[@]" "$tmp[@]" ) -- cgit v1.2.3