From 0ba8ae87eac21281e0b17eb9cbb523d133067a4a Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Wed, 8 Jun 2005 12:45:24 +0000 Subject: 21315: make completion functions give precendence to descriptions passed as parameters and cleanup descriptons in calling functions --- Completion/AIX/Command/_floppy | 2 +- Completion/AIX/Command/_lsdev | 28 ++++++++++++++-------------- Completion/AIX/Command/_lslv | 2 +- Completion/AIX/Command/_lsvg | 2 +- Completion/AIX/Type/_logical_volumes | 2 +- Completion/AIX/Type/_object_classes | 2 +- Completion/AIX/Type/_physical_volumes | 2 +- Completion/AIX/Type/_volume_groups | 2 +- Completion/Darwin/Type/_mac_applications | 3 ++- Completion/Debian/Command/_bug | 3 +-- Completion/Unix/Command/_gs | 2 +- Completion/Unix/Command/_imagemagick | 8 ++++---- Completion/Unix/Command/_java | 6 +++--- Completion/Unix/Command/_last | 28 ++++++++++++++-------------- Completion/Unix/Command/_links | 29 +++++++++++++++++++---------- Completion/Unix/Command/_lsof | 4 ++-- Completion/Unix/Command/_mount | 22 +++++++++++----------- Completion/Unix/Command/_perldoc | 6 +++--- Completion/Unix/Command/_user_admin | 16 ++++++++-------- Completion/Unix/Command/_yp | 26 ++++++++++++-------------- Completion/Unix/Command/_zdump | 7 ++++--- Completion/Unix/Type/_dir_list | 4 +++- Completion/Unix/Type/_domains | 2 +- Completion/Unix/Type/_file_systems | 8 ++++---- Completion/Unix/Type/_groups | 2 +- Completion/Unix/Type/_hosts | 2 +- Completion/Unix/Type/_java_class | 2 +- Completion/Unix/Type/_locales | 2 +- Completion/Unix/Type/_perl_basepods | 2 +- Completion/Unix/Type/_perl_modules | 5 +---- Completion/Unix/Type/_pids | 2 +- Completion/Unix/Type/_ports | 2 +- Completion/Unix/Type/_printers | 14 +++++++------- Completion/Unix/Type/_services | 18 ++++++------------ Completion/Unix/Type/_tex | 2 +- Completion/Unix/Type/_texi | 2 +- Completion/Unix/Type/_time_zone | 2 +- Completion/Unix/Type/_users | 4 ++-- Completion/X/Type/_x_cursor | 2 +- Completion/X/Type/_x_extension | 6 +++--- Completion/X/Type/_x_font | 2 +- Completion/X/Type/_x_keysym | 2 +- Completion/Zsh/Command/_print | 2 +- Completion/Zsh/Command/_read | 2 +- Completion/Zsh/Command/_unhash | 2 +- Completion/Zsh/Type/_arrays | 2 +- Completion/Zsh/Type/_file_descriptors | 12 ++++++------ Completion/Zsh/Type/_functions | 2 +- Completion/Zsh/Type/_jobs_bg | 2 +- Completion/Zsh/Type/_jobs_fg | 2 +- Completion/Zsh/Type/_limits | 2 +- Completion/Zsh/Type/_options | 2 +- Completion/Zsh/Type/_options_set | 2 +- Completion/Zsh/Type/_options_unset | 6 +++--- 54 files changed, 164 insertions(+), 163 deletions(-) (limited to 'Completion') diff --git a/Completion/AIX/Command/_floppy b/Completion/AIX/Command/_floppy index 7c030f9bd..3dd3ee8e1 100644 --- a/Completion/AIX/Command/_floppy +++ b/Completion/AIX/Command/_floppy @@ -2,4 +2,4 @@ local expl -_wanted floppyfiles expl 'files on floppy' compadd - ${$(dosdir)[1,-5]:l} +_wanted floppyfiles expl 'file on floppy' compadd - ${$(dosdir)[1,-5]:l} diff --git a/Completion/AIX/Command/_lsdev b/Completion/AIX/Command/_lsdev index 1bb1a8802..c54ed7637 100644 --- a/Completion/AIX/Command/_lsdev +++ b/Completion/AIX/Command/_lsdev @@ -5,33 +5,33 @@ local curcontext="${curcontext}" state line expl _arguments -C \ '(-P)-C[list info about device in customized devices object class]' \ '(-C -l)-P[list info about device in predefined object class]' \ - '-c[specify a device class]:device class:->class' \ - '-f[read flags from file]:files:_files' \ - '-F[specify output format]:format:->columnname' \ + '-c[specify a device class]:device class:->classes' \ + '-f[read flags from file]:file:_files' \ + '-F[specify output format]:format:->columnnames' \ '-H[display headers above columns]' \ '-h[display command usage]' \ '(-P)-l[specify device logical name]:device logical name' \ - '-r[display set of values in a column]:columnname:->columnname' \ + '-r[display set of values in a column]:column name:->columnnames' \ '(-P)-S[specify a device state]:device state:(Available Defined Stopped)' \ - '-s[specify a device subclass]:device subclass:->subclass' \ - '-t[specify a device type name]:device type name:->devtype' && return 0 + '-s[specify a device subclass]:device subclass:->subclasses' \ + '-t[specify a device type name]:device type name:->devtypes' && return 0 case $state in - class) - _wanted devclass expl 'device class names' \ + classes) + _wanted devclasses expl 'device class name' \ compadd - $(lsdev ${words[(r)-[CP]]:--P} -r class) ;; - subclass) - _wanted devsubclass expl 'device subclass names' \ + subclasses) + _wanted devsubclasses expl 'device subclass name' \ compadd - $(lsdev ${words[(r)-[CP]]:--P} -r subclass) ;; - devtype) - _wanted devtype expl 'device type names' \ + devtypes) + _wanted devtypes expl 'device type name' \ compadd - $(lsdev ${words[(r)-[CP]]:--P} -r type) ;; - columnname) + columnnames) [[ $words[CURRENT-1] = -F ]] && compset -P '*[^a-zA-Z]' - _wanted devcolumnname expl 'column names' \ + _wanted devcolumnnames expl 'column name' \ compadd - ${(s: :)words[(r)-C]:+name status location} \ class subclass description type ;; diff --git a/Completion/AIX/Command/_lslv b/Completion/AIX/Command/_lslv index 760c8cc3b..5145c48cc 100644 --- a/Completion/AIX/Command/_lslv +++ b/Completion/AIX/Command/_lslv @@ -5,4 +5,4 @@ _arguments -C -s \ '(-p)-l[list physical volumes in logical volume]' \ '(-p)-m[list partition numbers]' \ '-n[accesses information from the descriptor area of physical volume]:pv:_physical_volumes' \ - '1:lv:_logical_volumes' + '1:lv: _logical_volumes' diff --git a/Completion/AIX/Command/_lsvg b/Completion/AIX/Command/_lsvg index c5b9a1584..028a670ba 100644 --- a/Completion/AIX/Command/_lsvg +++ b/Completion/AIX/Command/_lsvg @@ -7,4 +7,4 @@ _arguments -C -s \ '(-o -n -M -p)-l[list logical volumes in volume group]' \ '(-o -n -l -p)-M[list mapping of physical and logical partition numbers]' \ '(-o -n -l -M)-p[list physical volumes used by volume group]' \ - '*:volume groups:_volume_groups' + '*:volume group:_volume_groups' diff --git a/Completion/AIX/Type/_logical_volumes b/Completion/AIX/Type/_logical_volumes index 1dd351360..bbfa09238 100644 --- a/Completion/AIX/Type/_logical_volumes +++ b/Completion/AIX/Type/_logical_volumes @@ -11,5 +11,5 @@ if zstyle -T ":completion:${curcontext}:" verbose; then else disp=() fi -_wanted logicalvolumes expl 'logical volumes' \ +_wanted logicalvolumes expl 'logical volume' \ compadd "$disp[@]" "$@" - "$names[@]" diff --git a/Completion/AIX/Type/_object_classes b/Completion/AIX/Type/_object_classes index 6122dcdf4..a0d669ca3 100644 --- a/Completion/AIX/Type/_object_classes +++ b/Completion/AIX/Type/_object_classes @@ -3,4 +3,4 @@ local expl _wanted objectclasses expl 'object class' \ - _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc(-.)' + _files -W ${ODMDIR:-/etc/objrepos} -g '^*.vc(-.)' "$@" - diff --git a/Completion/AIX/Type/_physical_volumes b/Completion/AIX/Type/_physical_volumes index b53054823..fd31edd09 100644 --- a/Completion/AIX/Type/_physical_volumes +++ b/Completion/AIX/Type/_physical_volumes @@ -3,4 +3,4 @@ local expl _wanted physicalvolumes expl 'physical volume' \ - compadd - $(lsdev -C -c disk -S a -F name) + compadd "$@" - $(lsdev -C -c disk -S a -F name) diff --git a/Completion/AIX/Type/_volume_groups b/Completion/AIX/Type/_volume_groups index dc509f6dc..8b8bebfa6 100644 --- a/Completion/AIX/Type/_volume_groups +++ b/Completion/AIX/Type/_volume_groups @@ -2,4 +2,4 @@ local expl -_wanted physicalvolumes expl 'physical volume' compadd - $(lsvg) +_wanted volumegroups expl 'volume group' compadd "$@" - $(lsvg) diff --git a/Completion/Darwin/Type/_mac_applications b/Completion/Darwin/Type/_mac_applications index ac1df46c1..51fa0c470 100644 --- a/Completion/Darwin/Type/_mac_applications +++ b/Completion/Darwin/Type/_mac_applications @@ -3,4 +3,5 @@ _retrieve_mac_apps local expl -_wanted commands expl 'Mac OS X application' compadd -- "${(@)${_mac_apps[@]:t}%.app}" +_wanted commands expl 'Mac OS X application' \ + compadd "$@" - "${(@)${_mac_apps[@]:t}%.app}" diff --git a/Completion/Debian/Command/_bug b/Completion/Debian/Command/_bug index 9bd2cb569..fb97d13fc 100644 --- a/Completion/Debian/Command/_bug +++ b/Completion/Debian/Command/_bug @@ -14,8 +14,7 @@ _rb_commonargs=( '(-B --bts)'{-B,--bts=}'[use alternate BTS]:system:(debian gnome kde tdyc kde-debian)' '(-l --ldap)'{-l,--ldap}'[enable LDAP support]' '(-l --ldap)--no-ldap[disable LDAP support]' - '(--http_proxy)--proxy=:proxyhost:_hosts' - '(--proxy)--http_proxy=:proxyhost:_hosts' + '(--proxy --http_proxy)'--{http_,}'proxy=:proxy host:_hosts' ) case "$service" in diff --git a/Completion/Unix/Command/_gs b/Completion/Unix/Command/_gs index fceedcea7..22f3c789b 100644 --- a/Completion/Unix/Command/_gs +++ b/Completion/Unix/Command/_gs @@ -15,7 +15,7 @@ else '-q[quiet startup]' \ '-g-[set device size]:device size (x):' \ '-r-[set resolution]:resolution ( or x):' \ - '-I[add search paths]:search paths:_dir_list' \ + '-I[add to library file search path]:directory:_dir_list' \ \*-{d,D}'-[define name with definition]:def:->dname' \ \*-{s,S}'-[define name with value]:def:->sname' \ '*:PostScript or PDF file:_pspdf' && ret=0 diff --git a/Completion/Unix/Command/_imagemagick b/Completion/Unix/Command/_imagemagick index a47e28cfc..5abae4425 100644 --- a/Completion/Unix/Command/_imagemagick +++ b/Completion/Unix/Command/_imagemagick @@ -49,7 +49,7 @@ case "$service" in '*-filter:filter type for resizing:(Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc)' \ '*-flip[vertical mirror image]' \ '*-flop[horizontal mirror image]' \ - '*-font:_x_font' \ + '*-font:font:_x_font' \ '*-foreground:color:_x_color' \ '*-frame:border dimensions (x++)' \ '*-gamma[gamma correction level]:gamma correction level ( or //)' \ @@ -84,7 +84,7 @@ case "$service" in '*-shared_memory' \ '*-sharpen:sharpening factor (0.0 - 99.9%%)' \ '*-size:image size (x+)' \ - '*-text_font:_x_font' \ + '*-text_font:font:_x_font' \ '*-texture:background texture image:_imagemagick' \ '*-title:image title' \ '*-treedepth:color reduction tree depth' \ @@ -117,7 +117,7 @@ case "$service" in '*-depth:image depth:(8 16)' \ '*-display:display:_x_display' \ '*-dither[apply dithering]' \ - '*-font:_x_font' \ + '*-font:font:_x_font' \ '*-foreground:color:_x_color' \ '*-gamma[gamma correction level]:gamma correction level ( or //)' \ '*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level ( or //)' \ @@ -138,7 +138,7 @@ case "$service" in '*-scenes:image scene number' \ '*-shared_memory' \ '*-size:image size (x+)' \ - '*-text_font:_x_font' \ + '*-text_font:font:_x_font' \ '*-title:image title' \ '*-treedepth:color reduction tree depth' \ '*-trim' \ diff --git a/Completion/Unix/Command/_java b/Completion/Unix/Command/_java index 3faf10273..f6565bc64 100644 --- a/Completion/Unix/Command/_java +++ b/Completion/Unix/Command/_java @@ -27,7 +27,7 @@ javac) jdb) jdb_args=( - '-host[specify hostname to connect]:hostname:_hosts' + '-host[specify host to connect to]:host:_hosts' '-password[specify password]:password:' ) ;& @@ -140,7 +140,7 @@ javah|javah_g) '-bootclasspath[specify path for bootstrap class files]:bootstrap class path:->bootstrapclasspath' \ '-old[generate old JDK1.0-style header files]' \ '-force[force output]' \ - '*:fully qualified classname:_java_class -m main ${(kv)opt_args[(i)-classpath]}' && return 0 + '*:class:_java_class -m main ${(kv)opt_args[(i)-classpath]}' && return 0 ;; javap) @@ -187,7 +187,7 @@ rmic) rmiregistry) if (( CURRENT == 2 )); then - _wanted ports expl 'port to listen' _ports && return + _wanted ports expl 'port to listen on' _ports && return else _message 'no more arguments' fi diff --git a/Completion/Unix/Command/_last b/Completion/Unix/Command/_last index 56537bf84..3e4d84f00 100644 --- a/Completion/Unix/Command/_last +++ b/Completion/Unix/Command/_last @@ -1,17 +1,17 @@ #compdef last lastb _arguments \ - '-a[display hostname in last column]' \ - '-n[number]:number' \ - '-[number]:number' \ - '-f[filename]:filename:_files' \ - '-R[suppress display of hostname field]' \ - '-d[translate IP to hostname]' \ - '-i[display IP]' \ - '-o[read old-format wtmp]' \ - '-x[display shutdown/runlevel entries]' \ - '-h[hostname]:_hosts' \ - '-s[report duration in seconds]' \ - '-t[tty]:tty:' \ - '-w[widen duration field]' \ - '*:user:_users' + '-a[display hostname in last column]' \ + '-n[number]:number' \ + '-[number]:number' \ + '-f[filename]:filename:_files' \ + '-R[suppress display of hostname field]' \ + '-d[translate IP to hostname]' \ + '-i[display IP]' \ + '-o[read old-format wtmp]' \ + '-x[display shutdown/runlevel entries]' \ + '-h[hostname]:host:_hosts' \ + '-s[report duration in seconds]' \ + '-t[tty]:tty' \ + '-w[widen duration field]' \ + '*:user:_users' diff --git a/Completion/Unix/Command/_links b/Completion/Unix/Command/_links index c8a4995d5..464068d46 100644 --- a/Completion/Unix/Command/_links +++ b/Completion/Unix/Command/_links @@ -5,25 +5,25 @@ typeset -A opt_args _arguments -C \ '(-help)-anonymous[restrict links so that it can run on an anonymous account]' \ - '(-help)-assume-codepage[use the given codepage when the webpage did not specify its]:codepage:' \ + '(-help)-assume-codepage[specify default codepage to use]:codepage' \ '(-help)-async-dns[asynchronous DNS resolver]:bool:((0\:on 1\:off))' \ '(-help)-download-dir[default download directory]:_files -/' \ '(-help)-driver[graphics driver to use]:graphics driver:->graphics_drivers' \ '(-help)-dump[dump the page as pure text]' \ - '(-help)-format-cache-size[number of formatted document pages cached]:pages:' \ - '(-help)-ftp-proxy[host and port number of the FTP proxy, or blank]:hostport:_hosts' \ + '(-help)-format-cache-size[number of formatted document pages cached]:pages' \ + '(-help)-ftp-proxy[specify ftp proxy server]:proxy:->proxies' \ '(-help)-g[run in graphics mode rather than plain text mode]' \ '-help[prints the help screen]' \ - '(-help)-http-proxy[host and port number of the HTTP proxy, or blank]:hostport:_hosts' \ - '(-help)-image-cache-size[image cache memory]:kilobytes:' \ - '(-help)-max-connections[maximum number of concurrent connections]:max:' \ - '(-help)-max-connections-to-host[maximum number of concurrent connection to a given host]:max:' \ - '(-help)-memory-cache-size[cache memory]:kilobytes:' \ + '(-help)-http-proxy[specify web proxy server]:proxy:->proxies' \ + '(-help)-image-cache-size[image cache memory]:memory (kilobytes)' \ + '(-help)-max-connections[maximum number of concurrent connections]:connections' \ + '(-help)-max-connections-to-host[maximum number of concurrent connection to a given host]:connections' \ + '(-help)-memory-cache-size[cache memory]:kilobytes' \ '(-help)-no-connect[runs links as a separate instance]' \ - '(-help)-receive-timeout[timeout on receive]:secs:' \ + '(-help)-receive-timeout[timeout on receive]:timeout (seconds)' \ '(-help)-retries[number of retries]:retries' \ '(-help)-source[dump the source page]' \ - '(-help)-unrestartable-receive-timeout[timeout on non restartable connections]:secs:' \ + '(-help)-unrestartable-receive-timeout[timeout on non restartable connections]:timeout (seconds)' \ '(-help)-version[prints the links version number and exit]' \ ':URL:->html' && ret=0 @@ -35,6 +35,15 @@ case $state in vals=(${=${${${(f)"$(_call_program links-graphics-drivers links -driver help 2>&1)"}[-1]}//','/''}} ) _describe -t links-graphics-drivers 'graphics driver' vals && ret=0 ;; + proxies) + local suf=-S: + if compset -P '*:'; then + _message -e ports 'port number' + else + compset -S ':*' && suf= + _hosts $suf && ret=0 + fi + ;; esac return ret diff --git a/Completion/Unix/Command/_lsof b/Completion/Unix/Command/_lsof index 0e3bc7a1b..aca9963c2 100644 --- a/Completion/Unix/Command/_lsof +++ b/Completion/Unix/Command/_lsof @@ -27,7 +27,7 @@ _arguments -s -S \ '(-s)-o[list file offset]' \ '-O[avoid overheads of bypassing potential blocking]' \ '-P[inhibit conversion of port numbers to port names]' \ - '-p[list files for specified processes]:processes:_pids' \ + '-p[list files for specified processes]:process ID:_pids' \ '-r[repeat listing endlessly]::delay (seconds)' \ '+r[repeat listing until no files listed]::delay (seconds)' \ '-R[list parent PID]' \ @@ -35,7 +35,7 @@ _arguments -s -S \ '-S[specify timeout for kernel functions that might deadlock]:timeout (seconds)' \ '-T[select reporting of TCP/TPI info]::info type:((q\:queue\ length\ reporting s\:state\ reporting w\:window\ size\ reporting))' \ '(+w -w)-t[terse output]' \ - '-u[list files owned by specified users]:user list:_users' \ + '-u[list files owned by specified users]:user:_users -S,' \ '-U[list Unix domain socket files]' \ '(-)-v[list version info]' \ '-V[indicate unsuccessfully searched for items]' \ diff --git a/Completion/Unix/Command/_mount b/Completion/Unix/Command/_mount index d905664c7..f19da0869 100644 --- a/Completion/Unix/Command/_mount +++ b/Completion/Unix/Command/_mount @@ -24,8 +24,8 @@ if [[ "$OSTYPE" == cygwin ]]; then local -a wpaths upaths mount | while read -r line; do [[ $line == ?:\ * ]] && continue - wpaths=($wpaths ${line%% on*}) - upaths=($upaths ${${line##*on }%% type*}) + wpaths+=( ${line%% on*} ) + upaths+=( ${${line##*on }%% type*} ) done _alternative \ 'windowspath:Windows path:compadd -a wpaths' \ @@ -552,10 +552,10 @@ if [[ "$service" = mount ]]; then irix*) args=( -s '-a[mount all filesystems in /etc/fstab]' - '-b[mount all filesystems in /etc/fstab except those listed]:list of directories:_dir_list -s,' + '-b[mount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' '-c[check any dirty filesystems before mounting]' "-f[fake a new /etc/mtab entry, but don't mount any filesystems]" - '-h[mount all filesystems associated with host]:hostnames:_hosts' + '-h[mount all filesystems associated with host]:host:_hosts' '-n[mount filesystem without making entry in /etc/mtab]' '-o[specify file system options]:file system option:->fsopt' '-p[print list of mounted filesystems in format suitable for /etc/fstab]' @@ -681,8 +681,8 @@ else irix*) args=( '-a[unmount all mounted file systems]' - '-b[unmount all filesystems in /etc/fstab except those listed]:list of directories:_dir_list -s,' - '-h[unmount all filesystems associated with host]:hostnames:_hosts' + '-b[unmount all filesystems in /etc/fstab except those listed]:mount point:_dir_list -s,' + '-h[unmount all filesystems associated with host]:host:_hosts' '-k[kill all processes with files open on filesystems before unmounting]' '-t[unmount all filesystems of specified type]:file system type:_file_systems' '-v[verbose]' @@ -709,7 +709,7 @@ else '(*)-a[unmount all mounted file systems]' '-A[unmount all mounted file systems except the root]' '-f[force unmount]' - '-h[unmount all filesystems associated with host]:hostnames:_hosts' + '-h[unmount all filesystems associated with host]:host:_hosts' '-t[unmount all filesystems of specified type]:file system type:->fslist' '-v[verbose mode]' '*:dev or dir:->udevordir' @@ -775,8 +775,8 @@ devordir) ;; *) [[ $mline[(w)3] == swap ]] || \ - dev_tmp=( $dev_tmp $mline[(w)1] ) \ - mp_tmp=( $mp_tmp $mline[(w)2] ) + dev_tmp+=( $mline[(w)1] ) \ + mp_tmp+=( $mline[(w)2] ) ;; esac done < /etc/fstab @@ -808,8 +808,8 @@ udevordir) ;; *) /sbin/mount | while read mline; do - mp_tmp=( $mp_tmp $mline[(w)1] ) - dev_tmp=( $dev_tmp $mline[(w)3] ) + mp_tmp+=( $mline[(w)1] ) + dev_tmp+=( $mline[(w)3] ) done ;; esac diff --git a/Completion/Unix/Command/_perldoc b/Completion/Unix/Command/_perldoc index 869dbae3a..7a3d806c5 100644 --- a/Completion/Unix/Command/_perldoc +++ b/Completion/Unix/Command/_perldoc @@ -49,9 +49,9 @@ case $state in _files -g "*.(pod|pm)(-.)" && ret=0 else _alternative \ - 'modules:: _perl_modules' \ - 'pods:: _perl_basepods' \ - 'files:Perl modules and .pods:_files -g "*.(pod|pm)(-.)"' && ret=0 + 'modules:module: _perl_modules' \ + 'pods:base pod: _perl_basepods' \ + 'files:module or .pod file:_files -g "*.(pod|pm)(-.)"' && ret=0 fi ;; esac diff --git a/Completion/Unix/Command/_user_admin b/Completion/Unix/Command/_user_admin index 4e7c1d487..281171d17 100644 --- a/Completion/Unix/Command/_user_admin +++ b/Completion/Unix/Command/_user_admin @@ -18,23 +18,23 @@ if [[ $service = user* ]]; then '(-D)-e+[specify expiration 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)-G+[supplementary groups]:supplementary group:_groups -S,' "(-D)-s+[shell]:shell:( $shells /bin/false )" '(-D -M)-m[create home directory]' '(-D)-u[uid]:uid' '(-D)-o[allow non unique uid]' ) - [[ $OSTYPE = linux* ]] && args=( $args[@] + [[ $OSTYPE = linux* ]] && args+=( '(-D -U -L)-p+[specify encrypted password]:encrypted password' ) if [[ $service = useradd ]]; then - (( redhat )) || args=( $args[@] + (( redhat )) || args+=( "(-D -k -m)-M[don't create home]" '(-D)-r[create system account]' "(-D)-n[don't create mirrored user]" ) [[ $OSTYPE = linux* ]] || sun=" -s" - args=( $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' @@ -44,7 +44,7 @@ if [[ $service = user* ]]; then "(-U -p)-L[lock user's password]" "(-L -p)-U[unlock user's password]" ) - args=( $args[@] + args+=( '-l[specify new user name]:new username' ':username:_users' ) @@ -52,15 +52,15 @@ if [[ $service = user* ]]; then else args=( '-g+[gid]:gid' '-o[allow non unique gid]' ) if [[ $service = groupadd ]]; then - args=( $args[@] ':group name' ) + args+=( ':group name' ) (( redhat )) || args=( $args[@] '-r[create system group]' '-f[force]' ) else - args=( $args[@] + args+=( '-n[specify new group name]:new group name' - ':group name:_groups' + ':group:_groups' ) fi fi diff --git a/Completion/Unix/Command/_yp b/Completion/Unix/Command/_yp index 128de36b7..104a0b4df 100644 --- a/Completion/Unix/Command/_yp +++ b/Completion/Unix/Command/_yp @@ -1,13 +1,13 @@ #compdef ypcat ypmatch yppasswd ypwhich ypset ypserv ypbind yppush yppoll ypxfr domainname -local curcontext="$curcontext" line state ret=1 +local curcontext="$curcontext" line state expl ret=1 typeset -A opt_args if (( ! $+_yp_cache_maps )); then _yp_cache_maps=( "${(@)${(@f)$(_call_program maps ypwhich -m)}%% *}" ) _yp_cache_nicks=( "${(@)${(@)${(@f)$(_call_program names ypwhich -x)}#*\"}%%\"*}" ) _yp_args=( - '(-x)-d[specify domain]:domain name:' \ + '(-x)-d[specify domain]:domain name' \ '(-x)-k[display keys]' \ '(-x)-t[inhibit nicknames]' \ '(: -d -k -t)-x[display nicknames]' \ @@ -28,7 +28,7 @@ yppasswd) ;; ypwhich) _arguments -C \ - '(-x)-d[specify domain]:domain name:' \ + '(-x)-d[specify domain]:domain name' \ '(-x -V2 -m -t)-V1[identify version 1 servers]' \ '(-x -V1 -m -t)-V2[identify version 2 servers]' \ '(: -x -V1 -V2 -m)-t[specify map name]:map name:->maponly' \ @@ -40,8 +40,8 @@ ypset) _arguments -C \ '(-V2)-V1[bind version 1 servers]' \ '(-V1)-V2[bind version 2 servers]' \ - '-d[specify domain]:domain name:' \ - '-h[specify host]:set binding on host:_hosts' \ + '-d[specify domain]:domain name' \ + '-h[set NIS binding on specified host]:host:_hosts' \ ':server:_hosts' && ret=0 ;; ypserv) @@ -57,24 +57,24 @@ ypbind) ;; yppush) _arguments -C \ - '-d[specify domain]:domain name:' \ + '-d[specify domain]:domain name' \ '-v[print messages]' \ ':map name:->map' && ret=0 ;; yppoll) _arguments -C \ - '-d[specify domain]:domain name:' \ - '-h[specify host]:ask server on host:_hosts' \ + '-d[specify domain]:domain name' \ + '-h[ask specified yp server]:host:_hosts' \ ':map name:->map' && ret=0 ;; ypxfr) _arguments -C \ '-a[specify database routines]:database routines:((b\:btree d\:dbm/ndbm h\:hash))' \ '-f[force transfer]' \ - '-c[don'"'"'t clear current map]' \ - '-d[specify domain]:domain name:' \ - '-h[specify host]:get map from host:_hosts' \ - '-C[call back]:transaction ID: :program number: :IP address: :port number:' \ + "-c[don't clear current map]" \ + '-d[specify domain]:domain name' \ + '-h[get map from specified host instead of master]:host:_hosts' \ + '-C[call back]:transaction ID: :program number: :IP address: :port number' \ ':map name:->map' && ret=0 ;; domainname) @@ -86,8 +86,6 @@ esac [[ "$state" = keymap ]] && _message -e keys 'key' if [[ "$state" = map* ]]; then - local expl - if [[ $+opt_args[-t] -eq 0 && "$state" != maponly ]]; then _tags maps nicknames else diff --git a/Completion/Unix/Command/_zdump b/Completion/Unix/Command/_zdump index 1d186d4e3..f96bdd764 100644 --- a/Completion/Unix/Command/_zdump +++ b/Completion/Unix/Command/_zdump @@ -1,5 +1,6 @@ #compdef zdump -_arguments '-v[lowest possible]' \ - '-c[cutoff]:cutoff year:' \ - '*:timezone:_time_zone' +_arguments \ + '-v[lowest possible]' \ + '-c[cutoff]:cutoff year:' \ + '*:time zone:_time_zone' diff --git a/Completion/Unix/Type/_dir_list b/Completion/Unix/Type/_dir_list index 574e8a2af..536d424e3 100644 --- a/Completion/Unix/Type/_dir_list +++ b/Completion/Unix/Type/_dir_list @@ -4,6 +4,8 @@ # -s to specify the separator (default is a colon) # -S to say that the separator should be added as a suffix (instead # of the default slash) +# any description passed should apply to an individual directory and not +# to the entire list local sep=: dosuf suf @@ -24,4 +26,4 @@ else suf=() fi -_files "$suf[@]" -r "${sep}"' /\t\t\-' -/ "$@" +_directories "$suf[@]" -r "${sep}"' /\t\t\-' "$@" diff --git a/Completion/Unix/Type/_domains b/Completion/Unix/Type/_domains index 42a0966dd..851ac7930 100644 --- a/Completion/Unix/Type/_domains +++ b/Completion/Unix/Type/_domains @@ -17,4 +17,4 @@ if ! zstyle -a ":completion:${curcontext}:domains" domains domains; then fi _wanted domains expl domain \ - compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" -a domains + compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - domains diff --git a/Completion/Unix/Type/_file_systems b/Completion/Unix/Type/_file_systems index 50b3ed744..ffbf5ac68 100644 --- a/Completion/Unix/Type/_file_systems +++ b/Completion/Unix/Type/_file_systems @@ -10,9 +10,9 @@ case $OSTYPE in fss=( adfs bfs cramfs ext2 ext3 hfs hpfs iso9660 minix ntfs qnx4 reiserfs romfs swap udf ufs vxfs xfs xiafs ) [[ -r /proc/filesystems ]] && - fss=( $fss ${$( /dev/null 2>&1; then alls=( ${(f)"$(LANGUAGE=C LANG=C LC_ALL=C chkconfig --list)"} ) inits=( ${${${alls[1,(r)xinetd based*]}[1,-2]}/%[[:space:]]*/} ) xinetds=( ${${${${alls[(r)xinetd based*,-1]}[2,-1]}/#[[:space:]]#}/%:*} ) + + _alternative \ + 'init:init service:compadd -a inits' \ + 'xinetd:xinetd service:compadd -a xinetds' && ret=0 else - inits=( /etc/init.d/*(-*:t) ) + _wanted services expl service compadd "$@" - /etc/init.d/*(-*:t) && ret=0 fi -_tags init xinetd - -while _tags; do - _requested init expl 'init services' \ - compadd -a inits && ret=0 - _requested xinetd expl 'xinetd services' \ - compadd -a xinetds && ret=0 - (( ret )) || break -done - -return $ret +return ret diff --git a/Completion/Unix/Type/_tex b/Completion/Unix/Type/_tex index 0d9130930..fcbafbd67 100644 --- a/Completion/Unix/Type/_tex +++ b/Completion/Unix/Type/_tex @@ -3,4 +3,4 @@ local expl _description files expl 'TeX or LaTeX file' -_files "$expl[@]" -g '*.(tex|TEX|texinfo|texi)(-.)' +_files "$@" "$expl[@]" -g '*.(tex|TEX|texinfo|texi)(-.)' diff --git a/Completion/Unix/Type/_texi b/Completion/Unix/Type/_texi index fb9c488ca..10ccfa28b 100644 --- a/Completion/Unix/Type/_texi +++ b/Completion/Unix/Type/_texi @@ -3,4 +3,4 @@ local expl _description files expl 'texinfo file' -_files "$expl[@]" -g '*.(texinfo|texi)(-.)' +_files "$@" "$expl[@]" -g '*.(texinfo|texi)(-.)' diff --git a/Completion/Unix/Type/_time_zone b/Completion/Unix/Type/_time_zone index 5bad7329b..cd924bbc7 100644 --- a/Completion/Unix/Type/_time_zone +++ b/Completion/Unix/Type/_time_zone @@ -6,4 +6,4 @@ if (( ! $+_zoneinfo_dirs )); then _zoneinfo_dirs=( /usr/{share,lib,share/lib}/{zoneinfo*,locale/TZ}(/) ) fi -_wanted time-zones expl 'time zone' _files -W _zoneinfo_dirs +_wanted time-zones expl 'time zone' _files -W _zoneinfo_dirs "$@" - diff --git a/Completion/Unix/Type/_users b/Completion/Unix/Type/_users index 08c22bbc2..de671f27d 100644 --- a/Completion/Unix/Type/_users +++ b/Completion/Unix/Type/_users @@ -3,6 +3,6 @@ local expl users zstyle -a ":completion:${curcontext}:" users users && - _wanted users expl user compadd "$@" -a users && return 0 + _wanted users expl user compadd "$@" -a - users && return 0 -_wanted users expl user compadd "$@" -k userdirs +_wanted users expl user compadd "$@" -k - userdirs diff --git a/Completion/X/Type/_x_cursor b/Completion/X/Type/_x_cursor index 5346710d7..466aea0c2 100644 --- a/Completion/X/Type/_x_cursor +++ b/Completion/X/Type/_x_cursor @@ -15,4 +15,4 @@ if (( ! $+_cursor_cache )); then fi _wanted cursors expl 'cursor name' \ - compadd "$@" -M 'm:-=_ r:|_=*' -a _cursor_cache + compadd "$@" -M 'm:-=_ r:|_=*' -a - _cursor_cache diff --git a/Completion/X/Type/_x_extension b/Completion/X/Type/_x_extension index d1a299e8b..4e410a82b 100644 --- a/Completion/X/Type/_x_extension +++ b/Completion/X/Type/_x_extension @@ -9,11 +9,11 @@ _tags extensions || return 1 if [[ "$1" = -a ]]; then shift - _wanted extensions expl 'X extensions' \ + _wanted extensions expl 'X extension' \ compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' - all "$_xe_cache[@]" else [[ "$1" = - ]] && shift - _wanted extensions expl 'X extensions' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a _xe_cache + _wanted extensions expl 'X extension' \ + compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _xe_cache fi diff --git a/Completion/X/Type/_x_font b/Completion/X/Type/_x_font index 6208faaca..134cfdf1c 100644 --- a/Completion/X/Type/_x_font +++ b/Completion/X/Type/_x_font @@ -13,4 +13,4 @@ if (( ! $+_font_cache )); then fi _wanted fonts expl font \ - compadd -M 'r:|-=* r:|=*' "$@" -S '' -a _font_cache + compadd -M 'r:|-=* r:|=*' "$@" -S '' -a - _font_cache diff --git a/Completion/X/Type/_x_keysym b/Completion/X/Type/_x_keysym index 39fbaebdd..84212e71b 100644 --- a/Completion/X/Type/_x_keysym +++ b/Completion/X/Type/_x_keysym @@ -19,4 +19,4 @@ if (( ! $+_keysym_cache )); then fi _wanted keysyms expl 'key symbol' \ - compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a _keysym_cache + compadd "$@" -M 'm:{a-z}={A-Z} r:|-=* r:|=*' -a - _keysym_cache diff --git a/Completion/Zsh/Command/_print b/Completion/Zsh/Command/_print index 07cb4de1d..af0501b7a 100644 --- a/Completion/Zsh/Command/_print +++ b/Completion/Zsh/Command/_print @@ -25,7 +25,7 @@ _arguments -C -s -A "-*" -S \ '(-n -l -N -f -s -z)-a[with -c/-C, print arguments across before down]' \ '(-n -l -N -f -C -s -z)-c[print arguments in columns]' \ '(-n -l -N -f -c -s -z)-C+[print arguments in specified number of columns]:columns' \ - '(-s -p -z)-u+[specify file-descriptor to print arguments to]:file-descriptor:_file_descriptors' \ + '(-s -p -z)-u+[specify file descriptor to print arguments to]:file descriptor:_file_descriptors' \ '(-s -p -u)-z[push arguments onto editing buffer stack]' \ '-D[substitute any arguments which are named directories using ~ notation]' \ '-P[perform prompt expansion]' \ diff --git a/Completion/Zsh/Command/_read b/Completion/Zsh/Command/_read index acf356a44..1f733b0e8 100644 --- a/Completion/Zsh/Command/_read +++ b/Completion/Zsh/Command/_read @@ -17,5 +17,5 @@ _arguments -s -A "-*" -S \ '(-e)-E[input read is echoed]' \ '(-q -z -p)-s[suppress terminal echoing]' \ '-A[first name is taken as an array]' \ - '(-q -z -p)-u+[specify file-descriptor to read from]:file-descriptor:_file_descriptors' \ + '(-q -z -p)-u+[specify file descriptor to read from]:file descriptor:_file_descriptors' \ $pflag '1:varprompt:_vars -qS\?' '*:vars:_vars' diff --git a/Completion/Zsh/Command/_unhash b/Completion/Zsh/Command/_unhash index 54c8d1669..c05c27ea3 100644 --- a/Completion/Zsh/Command/_unhash +++ b/Completion/Zsh/Command/_unhash @@ -6,7 +6,7 @@ _arguments -C -s -S \ '(-a -f -s *)-d[remove named directories]:*:named directory:->nameddir' \ '(-d -f -s *)-a[remove aliases]:*:alias:_aliases' \ '(-a -d -f *)-s[remove suffix aliases]:*:suffix alias:_aliases -s s' \ - '(-d -a -s *)-f[remove functions]:*:function:_functions' \ + '(-d -a -s *)-f[remove functions]:*:shell function:_functions' \ '-m[treat arguments as patterns]' \ '(-a -d -f -m)*:command: _command_names -e' && return 0 diff --git a/Completion/Zsh/Type/_arrays b/Completion/Zsh/Type/_arrays index c28fb179e..24c8957e8 100644 --- a/Completion/Zsh/Type/_arrays +++ b/Completion/Zsh/Type/_arrays @@ -2,4 +2,4 @@ local expl -_wanted arrays expl array _parameters "$@" -g '*array*' +_wanted arrays expl array _parameters "$@" - -g '*array*' diff --git a/Completion/Zsh/Type/_file_descriptors b/Completion/Zsh/Type/_file_descriptors index 3ea94a7b7..6d21ed2b6 100644 --- a/Completion/Zsh/Type/_file_descriptors +++ b/Completion/Zsh/Type/_file_descriptors @@ -2,7 +2,7 @@ local i fds expl list link sep -for i in {0..9}; [[ -e /dev/fd/$i ]] && fds=( ${fds[@]} $i ) +for i in {0..9}; [[ -e /dev/fd/$i ]] && fds+=( $i ) if zstyle -T ":completion:${curcontext}:" verbose && [[ -e /proc/$$/fd ]]; then zstyle -s ":completion:${curcontext}:" list-separator sep || sep=-- @@ -10,20 +10,20 @@ if zstyle -T ":completion:${curcontext}:" verbose && [[ -e /proc/$$/fd ]]; then if zmodload -e zsh/stat; then for i in "${fds[@]}"; do stat +link -A link /proc/$$/fd/$i - list=( ${list[@]} "$i $sep ${link[1]}" ) + list+=( "$i $sep ${link[1]}" ) done elif (( $+commands[readlink] )); then - for i in "${fds[@]}"; list=( ${list[@]} "$i $sep $(readlink /proc/$$/fd/$i)" ) + for i in "${fds[@]}"; list+=( "$i $sep $(readlink /proc/$$/fd/$i)" ) else for i in "${fds[@]}"; do - list=( ${list[@]} "$i $sep $(ls -l /proc/$$/fd/$i|sed 's/.*-> //' )" ) + list+=( "$i $sep $(ls -l /proc/$$/fd/$i|sed 's/.*-> //' )" ) done fi if (( $list[(I)* $sep ?*] )); then - _wanted file-descriptors expl 'file descriptors' compadd "$@" -d list -a fds + _wanted file-descriptors expl 'file descriptor' compadd "$@" -d list -a - fds return fi fi -_wanted file-descriptors expl 'file descriptors' compadd "$@" -a fds +_wanted file-descriptors expl 'file descriptor' compadd -a "$@" - fds diff --git a/Completion/Zsh/Type/_functions b/Completion/Zsh/Type/_functions index 7f818bd66..912a7f134 100644 --- a/Completion/Zsh/Type/_functions +++ b/Completion/Zsh/Type/_functions @@ -2,4 +2,4 @@ local expl -_wanted functions expl 'shell function' compadd "$@" -k functions +_wanted functions expl 'shell function' compadd -k "$@" - functions diff --git a/Completion/Zsh/Type/_jobs_bg b/Completion/Zsh/Type/_jobs_bg index 4362f8949..0c1842203 100644 --- a/Completion/Zsh/Type/_jobs_bg +++ b/Completion/Zsh/Type/_jobs_bg @@ -1,3 +1,3 @@ #compdef bg -_jobs -s +_jobs -s "$@" diff --git a/Completion/Zsh/Type/_jobs_fg b/Completion/Zsh/Type/_jobs_fg index e0f3012ef..57117f0d6 100644 --- a/Completion/Zsh/Type/_jobs_fg +++ b/Completion/Zsh/Type/_jobs_fg @@ -1,3 +1,3 @@ #compdef disown fg -_jobs +_jobs "$@" diff --git a/Completion/Zsh/Type/_limits b/Completion/Zsh/Type/_limits index 232ce7e94..11ee7efaa 100644 --- a/Completion/Zsh/Type/_limits +++ b/Completion/Zsh/Type/_limits @@ -2,4 +2,4 @@ local expl -_wanted limits expl 'process limits' compadd ${${(f)"$(limit)"}%% *} +_wanted limits expl 'process limit' compadd "$@" - ${${(f)"$(limit)"}%% *} diff --git a/Completion/Zsh/Type/_options b/Completion/Zsh/Type/_options index 351220bde..c6cf30d99 100644 --- a/Completion/Zsh/Type/_options +++ b/Completion/Zsh/Type/_options @@ -5,4 +5,4 @@ local expl _wanted zsh-options expl 'zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -k options + compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -k - options diff --git a/Completion/Zsh/Type/_options_set b/Completion/Zsh/Type/_options_set index 6082909fd..ddb57c3e2 100644 --- a/Completion/Zsh/Type/_options_set +++ b/Completion/Zsh/Type/_options_set @@ -7,4 +7,4 @@ local expl _wanted zsh-options expl 'set zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a _options_set + compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_set diff --git a/Completion/Zsh/Type/_options_unset b/Completion/Zsh/Type/_options_unset index 3af92f61c..32d58d427 100644 --- a/Completion/Zsh/Type/_options_unset +++ b/Completion/Zsh/Type/_options_unset @@ -1,10 +1,10 @@ #autoload # Complete all unset options. This relies on `_main_complete' to store the -# names of the options that were set when it was called in the array -# `_options_set'. +# names of the options that were unset when it was called in the array +# `_options_unset'. local expl _wanted zsh-options expl 'unset zsh option' \ - compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a _options_unset + compadd "$@" -M 'B:[nN][oO]= M:_= M:{A-Z}={a-z}' -a - _options_unset -- cgit 1.4.1