From 003d10889614f87e3fee6c1689a8abdaaf3efacb Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Tue, 23 Nov 1999 11:48:03 +0000 Subject: manual/8746 --- Completion/Base/_arguments | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'Completion/Base') diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments index fa72f323d..0a3ffc021 100644 --- a/Completion/Base/_arguments +++ b/Completion/Base/_arguments @@ -190,8 +190,8 @@ if comparguments -i "$autod" "$@"; then _tags options fi - while _tags; do - while true; do + while true; do + while _tags; do if [[ -n "$matched" ]] || _requested arguments; then _description expl "$descr" @@ -286,30 +286,31 @@ if comparguments -i "$autod" "$@"; then equal -QqS= -M "$match" fi fi - if [[ -n "$opts" && -z "$aret$matched" && - nm -eq compstate[nmatches] ]]; then + done + if [[ -n "$opts" && -z "$aret$matched" && + nm -eq compstate[nmatches] ]]; then - prefix="${PREFIX#*\=}" - suffix="$SUFFIX" - PREFIX="${PREFIX%%\=*}" - SUFFIX='' - compadd -M "$match" -D equal - "${(@)equal%%:*}" + prefix="${PREFIX#*\=}" + suffix="$SUFFIX" + PREFIX="${PREFIX%%\=*}" + SUFFIX='' + compadd -M "$match" -D equal - "${(@)equal%%:*}" - if [[ $#equal -eq 1 ]]; then - PREFIX="$prefix" - SUFFIX="$suffix" - IPREFIX="${IPREFIX}${equal[1]%%:*}=" - matched=yes + if [[ $#equal -eq 1 ]]; then + PREFIX="$prefix" + SUFFIX="$suffix" + IPREFIX="${IPREFIX}${equal[1]%%:*}=" + matched=yes - comparguments -L "${equal[1]%%:*}" descr action subc - curcontext="${oldcontext}:$subc" + comparguments -L "${equal[1]%%:*}" descr action subc + curcontext="${oldcontext}:$subc" - continue - fi + _tags arguments + + continue fi - break - done - [[ -n "$aret" || nm -ne compstate[nmatches] ]] && break + fi + break done [[ -z "$aret" || -z "$usecc" ]] && curcontext="$oldcontext" -- cgit 1.4.1