summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_cvs1
-rw-r--r--Completion/Unix/Command/_dd30
-rw-r--r--Completion/Unix/Command/_dict69
-rw-r--r--Completion/Unix/Command/_grep87
-rw-r--r--Completion/Unix/Command/_loadkeys22
-rw-r--r--Completion/Unix/Command/_ls133
-rw-r--r--Completion/Unix/Command/_patch2
-rw-r--r--Completion/Unix/Command/_user_admin67
-rw-r--r--Completion/Unix/Command/_wget105
9 files changed, 262 insertions, 254 deletions
diff --git a/Completion/Unix/Command/_cvs b/Completion/Unix/Command/_cvs
index cd845e364..7e6a83f28 100644
--- a/Completion/Unix/Command/_cvs
+++ b/Completion/Unix/Command/_cvs
@@ -163,7 +163,6 @@ _cvs_checkout () {
'(-D)-r+[specify revision]:tag:_cvs_revisions' \
'(-r)-D+[specify date]:date:_cvs_D' \
'-j+[merge]:tag:_cvs_revisions' \
- '-j+[merge]:tag:_cvs_revisions' \
'*:module:_cvs_modules'
}
diff --git a/Completion/Unix/Command/_dd b/Completion/Unix/Command/_dd
index 419fc1a7a..27cff1198 100644
--- a/Completion/Unix/Command/_dd
+++ b/Completion/Unix/Command/_dd
@@ -1,20 +1,14 @@
#compdef dd
-local expl
-
-if compset -P 1 'conv='; then
- # If there's a comma present, ignore up to the last one. The
- # test alone will have that effect.
- compset -p '*,'
- _wanted values expl conversion \
- compadd -qS, ascii ebcdic ibm block unblock lcase ucase swab noerror sync
-elif compset -P 1 'if='; then
- _description files expl 'input file'
- _tilde_files "$expl[@]"
-elif compset -P 1 'of='; then
- _description files expl 'output file'
- _tilde_files "$expl[@]"
-else
- _wanted values expl option \
- compadd -S '=' if of ibs obs bs cbs skip files seek count conv
-fi
+_values -S '=' 'option' \
+ 'if[specify input file]:input file:_tilde_files' \
+ 'of[specify output file]:output file:_tilde_files' \
+ 'ibs[input block size]:block size (bytes)' \
+ 'obs[output block size]:block size (bytes)' \
+ 'bs[block size]:block size (bytes)' \
+ 'cbs[conversion buffer size]:buffer size (bytes)' \
+ 'skip[input blocks initially skipped]:blocks' \
+ 'seek[output blocks initially skipped]:blocks' \
+ 'files[specify number of input files to copy and concatenate]:number of files' \
+ 'count[number of input blocks to copy]:blocks' \
+ 'conv[specify conversions to apply]:conversion:_values -s , "conversion" ascii ebcdic ibm block unblock lcase ucase swab noerror sync'
diff --git a/Completion/Unix/Command/_dict b/Completion/Unix/Command/_dict
index 31b89ee1c..b86ec4267 100644
--- a/Completion/Unix/Command/_dict
+++ b/Completion/Unix/Command/_dict
@@ -1,47 +1,28 @@
#compdef dict
_arguments \
- '(--host)-h[host]:dict server:_hosts' \
- '(-h)--host:dict server:_hosts' \
- '(--port)-p[port]:service:' \
- '(-p)--port:service:' \
- '(--database)-d[database]:db name:' \
- '(-d)--database:db name:' \
- '(--match)-m[match]' \
- '(-m)--match' \
- '(--strategy)-s[strategy]:strategy:' \
- '(-s)--strategy:strategy:' \
- '(--nocorrect)-C[nocorrect]' \
- '(-C)--nocorrect' \
- '(--config)-c[config]:config file:_files' \
- '(-c)--config:config file:_files' \
- '(--dbs)-D[list dbs]' \
- '(-D)--dbs' \
- '(--strats)-S[strats]' \
- '(-S)--strats' \
- '(--serverhelp)-H[server help]' \
- '(-H)--serverhelp' \
- '(--info)-i[db info]:db name:' \
- '(-i)--info:db name:' \
- '(--noauth)-a[disable authentication]' \
- '(-a)--noauth' \
- '(--user)-u[user]:user name:' \
- '(-u)--user:user name:' \
- '(--key)-k[key]:shared secret:' \
- '(-k)--key:shared secret:' \
- '(--version)-V[display version]' \
- '(-V)--version' \
- '(--license)-L[display license]' \
- '(-L)--license' \
- '--help' \
- '(--verbose)-v[be verbose]' \
- '(-v)--verbose' \
- '(--raw)-r[be very verbose]' \
- '(-r)--raw' \
- '(--pager)-P[pager]:program:_command_names -e' \
- '(-P)--pager:_command_names -e:' \
- '--html' \
- '--pipesize:buffer size:' \
- '--client:client text:' \
- '--debug:debug flag:(verbose raw scan parse pipe serial time)' \
- ':word:_dict_words'
+ '(--host -h)'{--host,-h}'[host]:dict server:_hosts' \
+ '(--port -p)'{--port,-p}'[port]:service:' \
+ '(--database -d)'{--database,-d}'[database]:db name:' \
+ '(--match -m)'{--match,-m}'[match]' \
+ '(--strategy -s)'{--strategy,-s}'[strategy]:strategy:' \
+ '(--nocorrect -C)'{--nocorrect,-C}'[nocorrect]' \
+ '(--config -c)'{--config,-c}'[config]:config file:_files' \
+ '(--dbs -D)'{--dbs,-D}'[list dbs]' \
+ '(--strats -S)'{--strats,-S}'[strats]' \
+ '(--serverhelp -H)'{--serverhelp,-H}'[server help]' \
+ '(--info -i)'{--info,-i}'[db info]:db name:' \
+ '(--noauth -a)'{--noauth,-a}'[disable authentication]' \
+ '(--user -u)'{--user,-u}'[user]:user name:' \
+ '(--key -k)'{--key,-k}'[key]:shared secret:' \
+ '(--version -V)'{--version,-V}'[display version]' \
+ '(--license -L)'{--license,-L}'[display license]' \
+ '--help' \
+ '(--verbose -v)'{--verbose,-v}'[be verbose]' \
+ '(--raw -r)'{--raw,-r}'[be very verbose]' \
+ '(--pager -P)'{--pager,-P}'[pager]:program:_command_names -e' \
+ '--html' \
+ '--pipesize:buffer size:' \
+ '--client:client text:' \
+ '--debug:debug flag:(verbose raw scan parse pipe serial time)' \
+ ':word:_dict_words'
diff --git a/Completion/Unix/Command/_grep b/Completion/Unix/Command/_grep
index 5c2fd8869..64dd5cb4e 100644
--- a/Completion/Unix/Command/_grep
+++ b/Completion/Unix/Command/_grep
@@ -1,7 +1,7 @@
#compdef grep egrep fgrep
# Ulrik Haugen 2001
-local efgrep="" efarguments arguments
+local arguments matchers
(( $+_is_gnu )) || typeset -gA _is_gnu
@@ -14,59 +14,50 @@ if (( ! $+_is_gnu[$words[1]] )); then
fi
fi
-
-[[ "$service" = [ef]grep ]] && efgrep=t
-
-if [[ -z $efgrep ]]; then
- efarguments=( \
- '(--extended-regexp -F --fixed-strings)-E[extended regexp]' \
- '(-E -F --fixed-strings)--extended-regexp' \
- '(--fixed-strings -E --extended-regexp)-F[fixed strings]' \
- '(-F -E --extended-regexp)--fixed-strings' \
+if [[ $service != [ef]grep ]]; then
+ matchers='(--extended-regexp --fixed-strings --basic-regexp -E -F -G)'
+ arguments=(
+ $matchers{--extended-regexp,-E}'[use extended regular expression]'
+ $matchers{--fixed-strings,-F}'[use literal strings]'
+ $matchers{--basic-regexp,-G}'[use basic regular expression]'
)
fi
-arguments=( \
- '(-e --regexp -f --file)1:pattern:' \
- {'(--regexp -f --file 1)-e+[regexp]','(-e -f --file 1)--regexp='}':regexp:' \
- {'(--file -e --regexp 1)-f+[file]','(-f -e --regexp 1)--file='}':pattern file:_files' \
- \
- '*:files:_files' \
- \
- {'(--after-context)-A+[after context]','(-A)--after-context='}':after context:(1)' \
- '(--text --binary-files)-a[text]' '(-a --binary-files)--text' \
- {'(--before-context)-B+[before context]','(-B)--before-context='}':before context:(1)' \
- {'(--context)-C+[context]','(-C)--context='}':context:(1)' \
- '(--byte-offset)-b[byte offset]' '(-b)--byte-offset' \
- '(-a --text -I)--binary-files:binary files:(binary without-match text)' \
- '(--count)-c[count]' '(-c)--count' \
- {'(--directories -r --recursive)-d+[directories]','(-d -r --recursive)--directories='}':directories:(read skip recurse grep)' \
- \
- $efarguments \
- \
- '(--basic-regexp)-G[basic regexp]' '(-G)--basic-regexp' \
- '(--with-filename)-H[with filename]' '(-H)--with-filename' \
- '(--no-filename)-h[no filename]' '(-h)--no-filename' \
- '--help' \
- '(--binary-files)-I[ignore binary]' \
- '(--ignore-case)-i[ignore case]' '(-i)--ignore-case' \
- '(--files-without-match)-L[files without match]' '(-L)--files-without-match' \
- '(--file-with-matches)-l[files with matches]' '(-l)--files-with-matches' \
- '--mmap' \
- '(--line-number)-n[line number]' '(-n)--line-number' \
- '(--quiet --silent)-q[quiet]' '(-q --quiet)--silent' '(-q --silent)--quiet' \
- '(--recursive -d --directories)-r[recursive]' '(-r -d --directories)--recursive' \
- '(--no-mesages)-s[no messages]' '(-s)--no-messages' \
- '(--version)-V[version]' '(-V)--version' \
- '(--invert-match)-v[invert match]' '(-v)--invert-match' \
- '(--word-regexp)-w[word regexp]' '(-w)--word-regexp' \
- '(--line-regexp)-x[line regexp]' '(-x)--line-regexp' \
- '(--null)-Z[null]' '(-Z)--null' \
+arguments=( $arguments[@]
+ '(--after-context -A)'{--after-context=,-A+}'[specify lines of trailing context]:lines'
+ '(--text -a --binary-files -I)'{--text,-a}'[process binary file as if it were text]'
+ '(--before-context -B)'{--before-context=,-B+}'[specify lines of leading context]:lines'
+ '(--context,-C)'{--context=,-C+}'[specify lines of context]:lines'
+ '(--byte-offset -b -c)'{--byte-offset,-b}'[print the byte offset with output lines]'
+ '(--text -a -I)--binary-files=[specify type to assume for binary files]:file type:(binary without-match text)'
+ '(--count -c --byte-offset -b --line-number -n)'{--count,-c}'[only print a count of matching lines]'
+ '(--directories -d -r --recursive)'{--directories=,-d+}'[specify handling of directories]:action on directory:(read skip recurse)'
+ '(1)*'{--regexp=,-e+}'[specify pattern]:pattern'
+ '(1)*'{--file=,-f+}'[specify pattern file]:file:_files'
+ '(--with-filename -H --no-filename -h)'{--with-filename,-H}'[print filename with each match]'
+ '(--no-filename -h --with-filename -H --null -Z --files-without-match -L --file-with-matches -l)'{--no-filename,-h}'[suppress printing of filenames]'
+ '(--text -a --binary-files)-I[process binary files as if non-matching]'
+ '(--ignore-case -i -y)'{--ignore-case,-i,-y}'[case-insensitive]'
+ '(--files-without-match -L --file-with-matches -l --no-filename -h)'{--files-without-match,-L}"[output non-matching files' names only]"
+ '(--files-with-matches -l --files-without-match -L --no-filename -h)'{--files-with-matches,-l}"[output matching files' names only]"
+ '(--line-number -n -c)'{--line-number,-n}'[prefix output with line numbers]'
+ '(--quiet --silent -q)'{--quiet,--silent,-q}'[suppress normal output]'
+ '(--recursive -r -d --directories)'{--recursive,-r}'[recurse subdirectories]'
+ '(--no-mesages -s)'{--no-messages,-s}'[suppress messages about unreadable]'
+ '(--version -V)'{--version,-V}'[display version info]'
+ '(--invert-match -v)'{--invert-match,-v}'[select non-matching lines]'
+ '(--word-regexp -w --line-regexp -x)'{--word-regexp,-w}'[force pattern to match only whole words]'
+ '(--line-regexp -x --word-regexp -w)'{--line-regexp,-x}'[force pattern to match only whole lines]'
+ '(--null -Z --no-filename -h)'{--null,-Z}'[print 0 byte after FILE name]'
+ '--help[display help]'
+ '--mmap[memory map input]'
+ '(-e --regexp -f --file)1:pattern:_guard "^--*"'
+ '*:files:_files'
)
# remove long options?
[[ -z "$_is_gnu[$words[1]]" ]] &&
- arguments=( ${${${${arguments:#*\)--*}:#--*}//--[^ )]#/}/\( #\)/} )
+ arguments=( ${${${arguments:#(|*\)(\*|))--*}//--[^ )]#/}/\( #\)/} )
-_arguments -s $arguments
+_arguments -s $arguments[@]
diff --git a/Completion/Unix/Command/_loadkeys b/Completion/Unix/Command/_loadkeys
index 9244392fc..d0a87b6f6 100644
--- a/Completion/Unix/Command/_loadkeys
+++ b/Completion/Unix/Command/_loadkeys
@@ -3,22 +3,16 @@
case $OSTYPE in
linux*)
_arguments \
- '(--clearcompose)-c[clearcompose]' \
- '(-c)--clearcompose' \
- '(--default)-d[default]' \
- '(-d)--default' \
- '(--help)-h[help]' \
- '(-h)--help' \
- '(--mktable)-m[mktable]' \
- '(-m)--mktable' \
- '(--clearstrings)-s[clearstrings]' \
- '(-s)--clearstrings' \
- '(--verbose)-v[verbose]' \
- '(-v)--verbose' \
- ':keymap:_files -W /usr/share/keymaps'
+ '(--clearcompose -c)'{--clearcompose,-c}'[clear kernel compose table]' \
+ '(--default -d)'{--default,-d}'[load default keymap file]' \
+ '(--help -h)'{--help,-h}'[display help information]' \
+ '(--mktable -m)'{--mktable,-m}'[output a "defkeymap.c" to stdout]' \
+ '(--clearstrings)'{--clearstrings,-s}'[clear kernel string table]' \
+ '*'{--verbose,-v}'[print more details]' \
+ ':keymap:_files -W /usr/share/keymaps'
;;
solaris*)
- _files -W /usr/share/lib/keytables
+ _files -W /usr/share/lib/keytables
;;
*) _default;;
diff --git a/Completion/Unix/Command/_ls b/Completion/Unix/Command/_ls
index 0e5625cd2..b9588c5f4 100644
--- a/Completion/Unix/Command/_ls
+++ b/Completion/Unix/Command/_ls
@@ -14,79 +14,72 @@ if (( ! $+_is_gnu[$words[1]] )); then
fi
fi
-arguments=( \
- '*:files:_files' \
- \
- '(--all -A --almost-all)-a[all]' '(-a -A --almost-all)--all' \
- '(--almost-all -a --all)-A[almost all]' '(-A -a --all)--almost-all' \
- '(--ignore-backups)-B[ignore backups]' '(-B)--ignore-backups' \
- '(--directory)-d[directory]' '(-d)--directory' \
- {'(--ignore)-I+[ignore]','(-I)--ignore='}':ignore:' \
- '(--dereference)-L[dereference]' '(-L)--dereference' \
- '(--recursive)-R[recursive]' '(-R)--recursive' \
- \
- '(--no-group)-G[no group]' '(-G)--no-group' \
- '(--human-readable -H --si)-h[human readable]' '(-h -H --si)--human-readable' \
- '(--si -h --human-readable)-H[si]' '(-H -h --human-readable)--si' \
- '(--inode)-i[inode]' '(-i)--inode' \
- \
- '(--format -o -1 -C -m -x)-l[long]' \
- '(--format -l --no-group -1 -C -m -x)-o[no group, long]' \
- '(--format -l -o -C -m -x)-1[single column]' \
- '(--format -l -o -1 -m -x)-C[sort vertically]' \
- '(--format -l -o -1 -C -x)-m[comma separated]' \
- '(--format -l -o -1 -C -m)-x[sort horizontally]' \
- '(-l -o -1 -C -m -x)--format=:format:(verbose long commas horizontal across vertical single-column)' \
- \
- '(--size -f)-s[size]' '(-s -f)--size' \
- \
- '(--time -u)-c[status change time]' \
- '(--time -c)-u[access time]' \
- '(-c -u)--time=:time:(ctime status use atime access)' \
- \
- '(-a --all -U -l --format -s --size -t --sort)-f[no sort, all]' \
- '(--reverse)-r[reverse]' '(-r)--reverse' \
- \
- '(--sort -t -U -v -X)-S[sort by size]' \
- '(--sort -S -U -v -X)-t[sort by time]' \
- '(--sort -S -t -v -X)-U[no sort]' \
- '(--sort -S -t -U -X)-v[sort by version]' \
- '(--sort -S -t -U -v)-X[sort by extension]' \
- '(-S -t -U -v -X)--sort=:sort:(size time none version extension)' \
- \
- '--color=-::color:(never always auto)' \
- \
- '(--classify --indicator-style -p --file-type)-F[classify]' \
- '(-F --indicator-style -p --file-type)--classify' \
- '(--file-type --indicator-style -F --classify)-p[file type]' \
- '(-p --indicator-style -F --classify)--file-type' \
- '(-F --classify -p --file-type)--indicator-style=:indicator style:(none file-type classify)' \
- \
- '--full-time' \
- \
- '(--kilobytes --block-size)-k[kilobytes]' '(-k --blocksize)--kilobytes' \
- '(-k --kilobytes)--block-size:blocksize:(1024)' \
- \
- '(--numeric-uid-gid)-n[numeric uid, gid]' \
- {'(--tabsize)-T+[tabsize]','(-T)--tabsize='}':tabsize:(8)' \
- {'(--width)-w+[width]','(-w)--width='}':width:(80)' \
- \
- '(--quoting-style --escape -N --literal -Q --quote-name)-b[escape]' \
- '(--quoting-style -b -N --literal -Q --quote-name)--escape' \
- '(--quoting-style -b --escape --literal -Q --quote-name)-N[literal]' \
- '(--quoting-style -b --escape -N -Q --quote-name)--literal' \
- '(--quoting-style -b --escape -N --literal --quote-name)-Q[quote name]' \
- '(--quoting-style -b --escape -N --literal -Q)--quote-name' \
- '(-b --escape -N --literal -Q --quote-name)--quoting-style=:quoting style:(literal shell shell-always c escape clocale locale)' \
- \
- '(--hide-control-chars --show-control-chars)-q[hide control chars]' \
- '(-q --show-control-chars)--hide-control-chars' \
- '(-q --hide-control-chars)--show-control-chars' \
- '--version' \
+arguments=(
+ '(--all -a -A --almost-all)'{--all,-a}'[list entries starting with .]'
+ '(--almost-all -A -a --all)'{--almost-all,-A}'[list all except . and ..]'
+ '(--ignore-backups -B)'{--ignore-backups,-B}"[don't list entries ending with ~]"
+ '(--directory -d)'{--directory,-d}'[list directory entries instead of contents]'
+ '(--ignore,-I)'{--ignore,-I}"[don't list entires matching pattern]:pattern:"
+ '(--dereference -L)'{--dereference,-L}'[list referenced file for sym link]'
+ '(--recursive -R)'{--recursive,-R}'[list subdirectories recursively]'
+
+ '(--no-group -G)'{--no-group,-G}'[inhibit display of group information]'
+ '(--human-readable -h -H --si)'{--human-readable,-h}'[print sizes in human readable form]'
+ '(--si -H -h --human-readable)'{--si,-H}'[sizes in human readable form; powers of 1000]'
+ '(--inode -i)'{--inode,-i}'[print file inode numbers]'
+
+ '(--format -o -1 -C -m -x)-l[long listing]'
+ '(--format -l --no-group -G -1 -C -m -x)-o[no group, long]'
+ '(--format -l -o -C -m -x)-1[single column output]'
+ '(--format -l -o -1 -m -x)-C[sort vertically]'
+ '(--format -l -o -1 -C -x)-m[comma separated]'
+ '(--format -l -o -1 -C -m)-x[sort horizontally]'
+ '(-l -o -1 -C -m -x)--format=:format:(verbose long commas horizontal across vertical single-column)'
+
+ '(--size -s -f)'{--size,-s}'[display size of each file in blocks]'
+
+ '(--time -u)-c[status change time]'
+ '(--time -c)-u[access time]'
+ '(-c -u)--time=[specify time to show]:time:(ctime status use atime access)'
+
+ '(-a --all -U -l --format -s --size -t --sort --full-time)-f[unsorted, all, short list]'
+ '(--reverse)'{--reverse,-r}'[reverse sort order]'
+
+ '(--sort -t -U -v -X)-S[sort by size]'
+ '(--sort -S -U -v -X)-t[sort by modification time]'
+ '(--sort -S -t -v -X)-U[unsorted]'
+ '(--sort -S -t -U -X)-v[sort by version (filename treated numerically)]'
+ '(--sort -S -t -U -v)-X[sort by extension]'
+ '(-S -t -U -v -X)--sort=:sort:(size time none version extension)'
+
+ '--color=-[control use of color]:color:(never always auto)'
+
+ '(--classify -F --indicator-style -p --file-type)'{--classify,-F}'[append file type indicators]'
+ '(--file-type -p --indicator-style -F --classify)'{--file-type,-p}'[append file type indicators except *]'
+ '(-F --classify -p --file-type)--indicator-style=:indicator style:(none file-type classify)'
+
+ '(-f)--full-time[list both full date and full time]'
+
+ '(--kilobytes -k --block-size)'{--kilobytes,-k}'[use block size of 1k]'
+ '(-k --kilobytes)--block-size=[specify block size]:block size (bytes):(1024)'
+
+ '(--numeric-uid-gid -n)'{--numeric-uid-gid,-n}'[numeric uid, gid]'
+ '(--tabsize -T)'{--tabsize=,-T+}'[specify tab size]:tab size'
+ '(--width -w)'{--width=,-w+}'[specify screen width]:screen width'
+
+ '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--escape,-b}'[print octal escapes for control characters]'
+ '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--literal,-N}'[print raw characters]'
+ '(--quoting-style -b --escape -N --literal -Q --quote-name)'{--quote-name,-Q}'[quote names]'
+ '(-b --escape -N --literal -Q --quote-name)--quoting-style=:quoting style:(literal shell shell-always c escape clocale locale)'
+
+ '(--hide-control-chars -q --show-control-chars)'{--hide-control-chars,-q}'[hide control chars]'
+ '(-q --hide-control-chars)--show-control-chars'
+ '--version[display version information]'
+ '*:files:_files'
)
# remove long options?
[[ -z "$_is_gnu[$words[1]]" ]] &&
- arguments=( ${${${${arguments:#*\)--*}:#--*}//--[^ )]#/}/\( #\)/} )
+ arguments=( ${${${arguments:#(|*\))--*}//--[^ )]#/}/\( #\)/} )
_arguments -s $arguments
diff --git a/Completion/Unix/Command/_patch b/Completion/Unix/Command/_patch
index c5867a6b1..c85720d1c 100644
--- a/Completion/Unix/Command/_patch
+++ b/Completion/Unix/Command/_patch
@@ -56,7 +56,7 @@ if (( ! $+_patch_args )); then
'* --quoting-style=WORD[, ]*' '--quoting-style=[quoting style]:quoting style:(literal shell shell-always c escape)'
- '*(\[-[a-zA-Z]#b[a-zA-Z]#\]| -b[, ])*' '(--backup)-b[back up original]'
+ '*(\[-[a-zA-Z]#b[a-zA-Z]#\]| -b[, ])*' '(--backup)-b[backup original]'
'* --backup[, ]*' '(-b)--backup[backup original]'
'* --backup-if-mismatch[, ]*' '(--no-backup-if-mismatch)--backup-if-mismatch[back up if not match exactly]'
'* --no-backup-if-mismatch[, ]*' '(--backup-if-mismatch)--no-backup-if-mismatch[back up only if otherwise requested]'
diff --git a/Completion/Unix/Command/_user_admin b/Completion/Unix/Command/_user_admin
new file mode 100644
index 000000000..831f365b8
--- /dev/null
+++ b/Completion/Unix/Command/_user_admin
@@ -0,0 +1,67 @@
+#compdef useradd usermod groupadd groupmod
+
+local args shells home=${${words[(r)-D]:+b}:-d} sun=" -s"
+
+if [[ $service = user* ]]; then
+ if [[ -r /etc/shells ]]; then
+ shells=( $(</etc/shells) )
+ else
+ shells=( ${(M)commands:#*/(|[abckz]|tc|ba)sh} )
+ fi
+
+ args=(
+ '(-D)-c+[comment]:comment'
+ "(-D)-${home}+[home directory]:home directory:_directories -W /"
+ '(-D)-e+[specify expriration date]:expiration date (YYYY-MM-DD)'
+ '(-D)-f+[specify inactive days]:inactive days'
+ '(-D)-g+[initial group]:initial group:_groups'
+ '(-D)-G+[supplementary groups]:supplementary groups:_groups -S,'
+ "(-D)-s+[shell]:shell:( $shells /dev/null )"
+ '(-D)-m[create home directory]'
+ '(-D)-u[uid]:uid'
+ '(-D)-o[allow non unique uid]'
+ )
+ [[ $OSTYPE = linux* ]] && args=( $args[@]
+ '(-D)-p+[specify encrypted password]:encrypted password' )
+
+ if [[ $service = useradd ]]; then
+ if [[ $OSTYPE = linux* ]]; then
+ args=( $args[@]
+ "(-D -k)-M[don't create home]"
+ '(-D)-r[create system account]'
+ "(-D)-n[don't create mirrored user]"
+ )
+ unset sun
+ fi
+ args=( $args[@]
+ "(-c -G -m -k -M -p -u -o -n -r$sun)-D[modify or display defaults]"
+ '(-D -M)-k[skeleton home directory]:skeleton directory:_directories -W /'
+ ':username'
+ )
+ else
+ [[ $OSTYPE = linux* ]] && args=( $args[@]
+ "(-U)-L[lock user's password]"
+ "(-L)-U[unlock user's password]"
+ )
+ args=( $args[@]
+ '-l[specify new user name]:new username'
+ ':username:_users'
+ )
+ fi
+else
+ args=( '-g+[gid]:gid' '-o[allow non unique gid]' )
+ if [[ $service = groupadd ]]; then
+ args=( $args[@] ':group name' )
+ [[ $OSTYPE = linux* ]] && args=( $args[@]
+ '-r[create system group]'
+ '-f[force]'
+ )
+ else
+ args=( $args[@]
+ '-n[specify new group name]:new group name'
+ ':group name:_groups'
+ )
+ fi
+fi
+
+_arguments -A "-*" -s $args[@]
diff --git a/Completion/Unix/Command/_wget b/Completion/Unix/Command/_wget
index 3f195cc8c..eb940782d 100644
--- a/Completion/Unix/Command/_wget
+++ b/Completion/Unix/Command/_wget
@@ -3,72 +3,67 @@
local curcontext="$curcontext" state line
typeset -A opt_args
-local tmp1 tmp2
-
_arguments -C -s \
- '(--version)-V[version]' '(-V)--version' \
- '(--help)-h[help]' '(-h)--help' \
- '(--background)-b[background]' '(-b)--background' \
- {'(--execute)-e+[execute]','(-e)--execute='}':.wgetrc command:' \
- {'(--output-file)-o+[output file]','(-o)--output-file='}':log file to output:_files' \
- {'(--append-output)-a+[append output file]','(-a)--append-output='}':log file to append:_files' \
- '(--debug)-d[debug]' '(-d)--debug' \
- '(--quiet)-q[quiet]' '(-q)--quiet' \
- '(--verbose)-v[verbose]' '(-v)--verbose' \
- '*-n+[no]:flags:->noflags' \
- {'(--input-file)-i+[input file]','(-i)--input-file='}':file containing URLs:_files' \
- '(--force-html)-F[force html]' '(-F)--force-html' \
- {'(--base)-B+[prepend URL to relative links]','(-B)--base='}':base URL:_urls' \
+ '(--version -V)'{--version,-V}'[display version info]' \
+ '(--help -h)'{--help,-h}'[display help]' \
+ '(--background -b)'{--background,-b}'[run in background]' \
+ '(--execute -e)'{--execute=,-e+}'[execute .wgetrc command]:.wgetrc command' \
+ '(--output-file -o --append-output -a)'{--output-file=,-o+}'[specify output logfile]:log file to output:_files' \
+ '(--append-output -a --output-file -o)'{--append-output=,-a+}'[specify output logfile to append to]:log file to append:_files' \
+ '(--debug -d)'{--debug,-d}'[turn on debug output]' \
+ '(--quiet -q --verbose -v --non-verbose -nv)'{--quiet,-q}'[turn off output]' \
+ '(--quiet -q --verbose -v --non-verbose -nv)'{--verbose,-v}'[turn on verbose output]' \
+ '*-n+[turn off flags]:flags:->noflags' \
+ '(--input-file -i)'{--input-file=,-i+}'[specify input file]:file containing URLs:_files' \
+ '(--force-html -F)'{--force-html,-F}'[treat input file as html]' \
+ '(--base -B)'{--base=,-B+}'[prepend URL to relative links]:base URL:_urls' \
'--bind-address=:address to bind to (hostname or IP):_hosts' \
- {'(--tries)-t+[tries]','(-t)--tries='}':number of retries:(0)' \
- {'(--output-document)-O+[output document]','(-O)--output-document='}':output file:_files' \
- '(--continue)-c[continue]' '(-c)--continue' \
- '--dot-style=:display style:(default binary mega giga micro)' \
- '(--timestamping)-N[timestamping]' '(-N)--timestamping' \
- '(--server-response)-S[server response]' '(-S)--server-response' \
- '--spider' \
- {'(--timeout)-T+[timeout]','(-T)--timeout='}':read timeout(seconds):' \
- {'(--wait)-w+[wait]','(-w)--wait='}':wait between retrievals(seconds):' \
- '--waitretry=:seconds to wait between retries of a retrieval:' \
- {'(--proxy --use-proxy)-Y+[proxy]','(-Y --use-proxy)--proxy=','(-Y --proxy)--use-proxy='}':proxy:(on off)' \
- {'(--quota)-Q+[quota]','(-Q)--quota='}':number:' \
- '(--force-directories)-x[force directories]' '(-x)--force-directories' \
- {'(--directory-prefix)-P+[directory prefix]','(-P)--directory-prefix='}':prefix:_files -/' \
+ '(--tries -t)'{--tries=,-t+}'[set number of retries]:number of retries' \
+ '(--output-document -O)'{--output-document=,-O+}'[specify file to write documents to]:output file:_files' \
+ '(--continue -c)'{--continue,-c}'[continue getting an existing file]' \
+ '--dot-style=[set retrieval display style]:display style:(default binary mega giga micro)' \
+ '(--timestamping -N)'{--timestamping,-N}'[retrieve only files newer than existing]' \
+ '(--server-response -S)'{--server-response,-S}'[print server response]' \
+ "--spider[don't download anything]" \
+ '(--timeout -T)'{--timeout=,-T+}'[specify read timeout]:read timeout (seconds)' \
+ '(--wait,-w)'{--wait=,-w+}'[specify wait between retrievals]:wait between retrievals (seconds)' \
+ '--waitretry=:wait between retries of a retrieval (seconds)' \
+ '(--proxy -Y)'{--proxy=,-Y+}'[turn proxy on or off]:proxy use:(on off)' \
+ '(--quota -Q)'{--quota=,-Q+}'[set retrieval quota]:number' \
+ '(--force-directories -x)'{--force-directories,-x}'[force creation of directories]' \
+ '(--directory-prefix -P)'{--directory-prefix=,-P+}'[specify prefix to save files to]:prefix:_files -/' \
'--cut-dirs=:number:' \
'--http-user=:user:' \
'--http-passwd=:password:' \
- '(--html-extension)-E[save all text/html files with a .html extension]' \
- '(-E)--html-extension' \
- '--ignore-length' \
+ '(--html-extension -E)'{--html-extension,-E}'[save all text/html files with a .html extension]' \
+ "--ignore-length[ignore \`Content-Length' header field]" \
'--header=:string:' \
'--proxy-user=:user:' \
'--proxy-passwd=:password:' \
'--referer=:url:_urls' \
- '(--save-headers)-s[save headers]' '(-s)--save-headers' \
- {'(--user-agent)-U+[user agent]','(-U)--user-agent='}':user-agent:' \
+ '(--save-headers -s)'{--save-headers,-s}'[save http headers]' \
+ '(--user-agent -U)'{--user-agent=,-U+}'[specify user agent to identify as]:user-agent' \
'--retr-symlinks' \
- {'(--glob)-g+[glob]','(-g)--glob='}':glob:(on off)' \
+ '(--glob -g)'{--glob=,-g+}'[turn file globbing on or off]:glob:(on off)' \
'--passive-ftp' \
- '(--recursive)-r[recursive]' '(-r)--recursive' \
- {'(--level)-l+[level]','(-l)--level='}':level:(0)' \
+ '(--recursive -r)'{--recursive,-r}'[recurse subdirectories]' \
+ '(--level -l)'{--level=,-l+}'[specify maximum recursion depth]:level' \
'--delete-after' \
- '(--convert-links)-k[convert links]' '(-k)--convert-links' \
- '(--backup-converted)-K[backup files before conversion]' \
- '(-K)--backup-converted' \
- '(--mirror)-m[mirror]' '(-m)--mirror' \
- '(--page-requisites)-p[get all images needed to display page]' \
- '(-p)--page-requisites' \
- {'(--accept)-A+[accept]','(-A)--accept='}':accepted extensions:' \
- {'(--reject)-R+[reject]','(-R)--reject='}':rejected extensions:' \
- {'(--domains)-D+[domains]','(-D)--domains='}':accepted domains:' \
+ '(--convert-links -k)'{--convert-links,-k}'[convert links to be relative]' \
+ '(--backup-converted -K)'{--backup-converted,-K}'[backup files before conversion]' \
+ '(--mirror -m -r -N -l)'{--mirror,-m}'[mirror (-r -N -l inf -nr)]' \
+ '(--page-requisites -p)'{--page-requisites,-p}'[get all images needed to display page]' \
+ '(--accept -A)'{--accept=,-A+}'[specify accepted extensions]:extensions' \
+ '(--reject -R)'{--reject=,-R+}'[specify rejected extensions]:extensions' \
+ '(--domains -D)'{--domains=,-D+}'[specify accepted domains]:domains' \
'--exclude-domains=:rejected domains:' \
'--follow-ftp' \
'--follow-tags=:HTML tags:' \
- {'(--ignore-tags)-G+[ignored HTML tags]','(-G)--ignore-tags='}':HTML tags:' \
- '(--span-hosts)-H[span hosts]' '(-H)--span-hosts' \
- '(--relative)-L[follow relative links only]' '(-L)--relative' \
- {'(--include-directories)-I+[include directories]','(-I)--include-directories='}':allowed directories:' \
- {'(--exclude-directories)-X+[exclude directories]','(-X)--exclude-directories='}':excluded directories:' \
+ '(--ignore-tags -G)'{--ignore-tags=,-G+}'[spcify ignored HTML tags]:HTML tags' \
+ '(--span-hosts -H)'{--span-hosts,-H}'[span hosts]' \
+ '(--relative -L)'{--relative,-L}'[follow relative links only]' \
+ '(--include-directories -I)'{--include-directories=,-I+}'[include directories]:allowed directories' \
+ '(--exclude-directories -X)'{--exclude-directories=,-X+}'[exclude directories]:excluded directories' \
'--no-host-lookup' \
'--no-parent' \
'--non-verbose' \
@@ -76,17 +71,11 @@ _arguments -C -s \
'--no-directories' \
'--no-host-directories' \
'--dont-remove-listing' \
- '--cache=:cache:(on off)' \
+ '(--cache -C)'{--cache=,-C+}'[(dis)allow server-cached data]:cache:(on off)' \
'--htmlify=:htmlify:' \
'--no:no:->noflags' \
'*:url:_urls' && return 0
-# '--backups:backups:' \
-# '-W' \
-# '(--email-address)-E+[email address]' '(-E)--email-address' \
-# '-C+[cache]:cache:(on off)' \
-# '--force-hier' \
-
case "$state" in
noflags)
_values -s '' 'option' \