summaryrefslogtreecommitdiff
path: root/Completion/X/Command/_netscape
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/X/Command/_netscape')
-rw-r--r--Completion/X/Command/_netscape46
1 files changed, 25 insertions, 21 deletions
diff --git a/Completion/X/Command/_netscape b/Completion/X/Command/_netscape
index 99d6ee45c..be38e0c85 100644
--- a/Completion/X/Command/_netscape
+++ b/Completion/X/Command/_netscape
@@ -24,9 +24,6 @@ _x_arguments -C \
-{component-bar,composer,edit,messenger,mail,discussions,news} \
'*:location:->urls' && ret=0
-[[ "$state" = "urls" ]] &&
- _files "$@" && return 0
-
# Handle netscape remote commands
if [[ "$state" = "remote" ]]; then
local -a remote_commands
@@ -69,24 +66,31 @@ if [[ "$state" = "remote" ]]; then
fi
if [[ "$state" = "urls" ]]; then
- # Complete netscape urls
- if compset -P about: ; then
- _wanted values expl 'about what' \
- compadd "$@" authors blank cache document fonts global hype image-cache \
- license logo memory-cache mozilla plugins && ret=0
- elif compset -P news: ; then
- _newsgroups "$@" && ret=0
- else
- _tags prefixes
- while _tags; do
- while _next_label prefixes expl 'URL prefix' "$@"; do
- _urls "$expl[@]" && ret=0
- compset -S '[^:]*'
- compadd -S '' "$expl[@]" about: news: mocha: javascript: && ret=0
- done
- (( ret )) || return 0
- done
- fi
+ _tags files urls
+ while _tags; do
+ _requested files expl 'file' _files "$@" && ret=0
+ if _requested urls; then
+ # Complete netscape urls
+ if compset -P about: ; then
+ _wanted values expl 'about what' \
+ compadd "$@" authors blank cache document fonts global hype \
+ image-cache license logo memory-cache mozilla plugins && ret=0
+ elif compset -P news: ; then
+ _newsgroups "$@" && ret=0
+ else
+ _tags prefixes
+ while _tags; do
+ while _next_label prefixes expl 'URL prefix' "$@"; do
+ _urls "$expl[@]" && ret=0
+ compset -S '[^:]*'
+ compadd -S '' "$expl[@]" about: news: mocha: javascript: && ret=0
+ done
+ (( ret )) || return 0
+ done
+ fi
+ fi
+ (( ret )) || return 0
+ done
fi
return ret