summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Unix/Command/_webbrowser2
-rw-r--r--Completion/X/Command/.distfiles1
-rw-r--r--Completion/X/Command/_mozilla99
4 files changed, 107 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9548f81b6..69286fd75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-12-11 Clint Adams <clint@zsh.org>
+
+ * 16326: Completion/Unix/Command/_webbrowser,
+ Completion/X/Command/.distfiles, Completion/X/Command/_mozilla:
+ completion for mozilla, some more web browsers in _webbrowser.
+
2001-12-11 Oliver Kiddle <opk@zsh.org>
* 16325: Completion/Unix/Command/_wget: update for wget 1.8
diff --git a/Completion/Unix/Command/_webbrowser b/Completion/Unix/Command/_webbrowser
index b0e6b1c21..bde1372be 100644
--- a/Completion/Unix/Command/_webbrowser
+++ b/Completion/Unix/Command/_webbrowser
@@ -1,3 +1,3 @@
-#compdef amaya arena chimera express grail gzilla hotjava mmm mozilla opera www xmosaic Mosaic galeon
+#compdef amaya arena chimera express grail gzilla hotjava mmm opera www xmosaic Mosaic galeon konqueror skipstone light dillo
_urls -f
diff --git a/Completion/X/Command/.distfiles b/Completion/X/Command/.distfiles
index 5cc5d5e6d..da4d54381 100644
--- a/Completion/X/Command/.distfiles
+++ b/Completion/X/Command/.distfiles
@@ -2,4 +2,5 @@ DISTFILES_SRC='
.distfiles
_gv _netscape _xauth _xfig _xrdb _xterm _xwit
_nedit _vnc _x_utils _xdvi _xmodmap _xset _xv
+_mozilla
'
diff --git a/Completion/X/Command/_mozilla b/Completion/X/Command/_mozilla
new file mode 100644
index 000000000..30cfe8dc9
--- /dev/null
+++ b/Completion/X/Command/_mozilla
@@ -0,0 +1,99 @@
+#compdef mozilla
+
+local curcontext="$curcontext" state line ret=1 suf
+typeset -A opt_args
+
+_x_arguments -C \
+ '-height[height of startup window]:height:' \
+ '(-h)-help[show usage message]' \
+ '(-help)-h[show usage message]' \
+ '-installer[start with 4.x migration window]' \
+ '-width[width of startup window]:width:' \
+ '(-v)-version[show the version number and build date]' \
+ '(-version)-v[show the version number and build date]' \
+ '-CreateProfile:profile:' \
+ '-P[start with profile]:profile:' \
+ '-ProfileWizard[start with profile wizard]' \
+ '-ProfileManager[start with profile manager]' \
+ '-SelectProfile[start with profile selection dialog]' \
+ '-UILocale:locale:' \
+ '-contentLocale:locale:' \
+ '-remote[execute a command in an existing Mozilla]:remote command:->remote' \
+ '-splash[enable splash screen]' \
+ '-chat[start with IRC client]' \
+ '-news[start with news]' \
+ '-jsconsole[start with JavaScript Console]' \
+ '-venkman[start with JavaScript debugger]' \
+ '-terminal[start with command line terminal]' \
+ '-edit[start with editor]:url:_urls' \
+ '-chrome[load the specified chrome]:url:_urls' \
+ '-mail[start with mail]' \
+ '-compose[start with messenger compose]:url:_urls' \
+ '*:location:->urls' && ret=0
+
+[[ "$state" = "urls" ]] &&
+ _files "$@" && return 0
+
+# Handle mozilla remote commands
+if [[ "$state" = "remote" ]]; then
+ local -a remote_commands
+ remote_commands=(openURL openFile saveAs mailto addBookmark)
+
+ compset -P '*\('
+ if compset -S '(|\\)\)*'; then
+ set - -S "" "$@"
+ else
+ set - -S"${${QIPREFIX:+)}:-\)}$compstate[quote] " "$@"
+ fi
+ case $IPREFIX in
+ openURL*|addBookmark*) state=urls;;
+ openFile*) _files "$@" -W ~;;
+ saveAs*)
+ if compset -P "*,"; then
+ _wanted types expl 'data type' \
+ compadd "$@" -M 'm:{a-zA-Z}={A-Za-z}' HTML Text PostScript && ret=0
+ else
+ compset -S ",*" || suf=","
+ _files -qS "$suf" -W ~ && ret=0
+ fi
+ ;;
+ mailto*)
+ compset -P "*,"
+ if compset -P '*@'; then
+ _wanted hosts expl 'remote host name' _hosts -q -S, && ret=0
+ else
+ compset -S "@*" || suf="@"
+ _wanted users expl 'login name' _users -q -S "$suf" && ret=0
+ fi
+ ;;
+ *)
+ compset -S '(|\\)\(*' || suf="${${QIPREFIX:+(}:-\(}"
+ _wanted commands expl 'remote commands' \
+ compadd -qS "$suf" -M 'm:{a-zA-Z}={A-Za-z}' -a \
+ remote_commands && ret=0
+ ;;
+ esac
+fi
+
+if [[ "$state" = "urls" ]]; then
+ # Complete mozilla 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
+
+return ret