1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-01-01 05:16:05 +01:00

21315: make completion functions give precendence to descriptions passed as

parameters and cleanup descriptons in calling functions
This commit is contained in:
Oliver Kiddle 2005-06-08 12:45:24 +00:00
parent 9181f0e305
commit 0ba8ae87ea
55 changed files with 197 additions and 163 deletions

View file

@ -1,5 +1,38 @@
2005-06-08 Oliver Kiddle <opk@zsh.org>
* 21315: Completion/AIX/Command/_floppy,
Completion/AIX/Command/_lsdev, Completion/AIX/Command/_lslv,
Completion/AIX/Command/_lsvg, Completion/AIX/Type/_logical_volumes,
Completion/AIX/Type/_object_classes,
Completion/AIX/Type/_physical_volumes,
Completion/AIX/Type/_volume_groups,
Completion/Darwin/Type/_mac_applications,
Completion/Debian/Command/_bug, Completion/Unix/Command/_gs,
Completion/Unix/Command/_imagemagick, Completion/Unix/Command/_java,
Completion/Unix/Command/_last, Completion/Unix/Command/_links,
Completion/Unix/Command/_lsof, Completion/Unix/Command/_mount,
Completion/Unix/Command/_perldoc, Completion/Unix/Command/_user_admin,
Completion/Unix/Command/_yp, Completion/Unix/Command/_zdump,
Completion/Unix/Type/_dir_list, Completion/Unix/Type/_domains,
Completion/Unix/Type/_file_systems, Completion/Unix/Type/_groups,
Completion/Unix/Type/_hosts, Completion/Unix/Type/_java_class,
Completion/Unix/Type/_locales, Completion/Unix/Type/_perl_basepods,
Completion/Unix/Type/_perl_modules, Completion/Unix/Type/_pids,
Completion/Unix/Type/_ports, Completion/Unix/Type/_printers,
Completion/Unix/Type/_services, Completion/Unix/Type/_tex,
Completion/Unix/Type/_texi, Completion/Unix/Type/_time_zone,
Completion/Unix/Type/_users, Completion/X/Type/_x_cursor,
Completion/X/Type/_x_extension, Completion/X/Type/_x_font,
Completion/X/Type/_x_keysym, Completion/Zsh/Command/_print,
Completion/Zsh/Command/_read, Completion/Zsh/Command/_unhash,
Completion/Zsh/Type/_arrays, Completion/Zsh/Type/_file_descriptors,
Completion/Zsh/Type/_functions, Completion/Zsh/Type/_jobs_bg,
Completion/Zsh/Type/_jobs_fg, Completion/Zsh/Type/_limits,
Completion/Zsh/Type/_options, Completion/Zsh/Type/_options_set,
Completion/Zsh/Type/_options_unset: make completion functions
give precendence to descriptions passed as parameters and
cleanup descriptons in calling functions
* 21314: Doc/Zsh/compsys.yo: declare expl local in example use
of _wanted

View file

@ -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}

View file

@ -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
;;

View file

@ -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'

View file

@ -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'

View file

@ -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[@]"

View file

@ -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(-.)' "$@" -

View file

@ -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)

View file

@ -2,4 +2,4 @@
local expl
_wanted physicalvolumes expl 'physical volume' compadd - $(lsvg)
_wanted volumegroups expl 'volume group' compadd "$@" - $(lsvg)

View file

@ -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}"

View file

@ -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

View file

@ -15,7 +15,7 @@ else
'-q[quiet startup]' \
'-g-[set device size]:device size (<width>x<height>):' \
'-r-[set resolution]:resolution (<val> or <x>x<y>):' \
'-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

View file

@ -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 (<width>x<height>+<out>+<in>)' \
'*-gamma[gamma correction level]:gamma correction level (<n> or <red>/<green>/<blue>)' \
@ -84,7 +84,7 @@ case "$service" in
'*-shared_memory' \
'*-sharpen:sharpening factor (0.0 - 99.9%%)' \
'*-size:image size (<width>x<height>+<offset>)' \
'*-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 (<n> or <red>/<green>/<blue>)' \
'*+gamma[gamma correction level (don'\''t change pixels)]:gamma correction level (<n> or <red>/<green>/<blue>)' \
@ -138,7 +138,7 @@ case "$service" in
'*-scenes:image scene number' \
'*-shared_memory' \
'*-size:image size (<width>x<height>+<offset>)' \
'*-text_font:_x_font' \
'*-text_font:font:_x_font' \
'*-title:image title' \
'*-treedepth:color reduction tree depth' \
'*-trim' \

View file

@ -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

View file

@ -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'

View file

@ -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

View file

@ -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]' \

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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'

View file

@ -4,6 +4,8 @@
# -s <sep> 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\-' "$@"

View file

@ -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

View file

@ -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 ${$(</proc/filesystems)#nodev} )
fss+=( ${$(</proc/filesystems)#nodev} )
[[ -r /etc/filesystems ]] &&
fss=( $fss ${$(</etc/filesystems)#nodev} )
fss+=( ${$(</etc/filesystems)#\*} )
;;
osf*) fss=( advfs ufs nfs mfs cdfs ) ;;
solaris*) fss=( ufs nfs hsfs s5fs pcfs cachefs tmpfs ) ;;
@ -22,11 +22,11 @@ case $OSTYPE in
;;
*)
# default for all other systems
fss=( ufs)
fss=( ufs )
;;
esac
_wanted fstypes expl 'file system type' compadd "$@" -M 'L:|no=' -a fss
_wanted fstypes expl 'file system type' compadd "$@" -M 'L:|no=' -a "$@" - fss

View file

@ -21,4 +21,4 @@ if ! zstyle -a ":completion:${curcontext}:" groups groups; then
groups=( "$_cache_groups[@]" )
fi
_wanted groups expl group compadd "$@" -a groups
_wanted groups expl group compadd -a "$@" - groups

View file

@ -18,4 +18,4 @@ if ! zstyle -a ":completion:${curcontext}:hosts" hosts hosts; then
fi
_wanted hosts expl host \
compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" -a hosts
compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' -a "$@" - hosts

View file

@ -20,5 +20,5 @@ for i in "${(s.:.)classpath}"; do
fi
done
_wanted classes expl 'java class' compadd "$@" -M 'r:|.=* r:|=*' -a c
_wanted classes expl 'java class' compadd "$@" -M 'r:|.=* r:|=*' -a - c

View file

@ -9,4 +9,4 @@ else
locales=( /usr/lib/locale/*(:t) )
fi
_wanted locales expl locale compadd "$@" -a locales
_wanted locales expl locale compadd -a "$@" - locales

View file

@ -29,4 +29,4 @@ fi
local expl
_wanted pods expl 'perl base pods' compadd -a - _perl_basepods
_wanted pods expl 'perl base pod' compadd -a "$@" - _perl_basepods

View file

@ -18,9 +18,6 @@
# modules which don't begin with an uppercase letter).
_perl_modules () {
local opts
zparseopts -D -a opts S: q
# Set a sensible default caching policy. This has to be done inside
# this function otherwise we wouldn't know the context for the style.
local update_policy
@ -87,7 +84,7 @@ _perl_modules () {
local expl
_wanted modules expl 'Perl modules' compadd "$opts[@]" -a $perl_modules
_wanted modules expl 'Perl module' compadd "$@" -a - $perl_modules
}
_perl_modules_caching_policy () {

View file

@ -38,7 +38,7 @@ else
fi
_wanted processes expl 'process ID' \
compadd "$@" "$desc[@]" "$all[@]" -a pids && ret=0
compadd "$@" "$desc[@]" "$all[@]" -a - pids && ret=0
if [[ -n "$all" ]]; then
zstyle -s ":completion:${curcontext}:processes" insert-ids out || out=menu

View file

@ -9,4 +9,4 @@ if ! zstyle -a ":completion:${curcontext}:" ports ports; then
ports=( "$_cache_ports[@]" )
fi
_wanted ports expl port compadd "$@" -a ports
_wanted ports expl port compadd -a "$@" - ports

View file

@ -4,7 +4,7 @@ local expl ret=1 list disp sep tmp
if (( $+commands[lsallq] )); then
# Use AIX's command to list print queues
_wanted printers expl printer compadd $(lsallq)
_wanted printers expl printer compadd "$@" - $(lsallq)
return
fi
@ -30,11 +30,11 @@ if (( ! $+_lp_cache )); then
disp=''
fi
if [[ -n "$disp" ]]; then
_lp_cache=( "$_lp_cache[@]" "${names[1]}:${disp}" )
_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)^names[2,-1]:#*\ *}:${disp}" )
_lp_cache+=( "${names[1]}:${disp}" )
_lp_alias_cache+=( "${(@)^names[2,-1]:#*\ *}:${disp}" )
else
_lp_cache=( "$_lp_cache[@]" "${names[1]}" )
_lp_alias_cache=( "$_lp_alias_cache[@]" "${(@)names[2,-1]:#*\ *}" )
_lp_cache+=( "${names[1]}" )
_lp_alias_cache+=( "${(@)names[2,-1]:#*\ *}" )
fi
fi
done < $file[1]
@ -56,7 +56,7 @@ else
disp=()
fi
_wanted printers expl printer \
compadd "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0
compadd "$@" "$disp[@]" - "${(@)_lp_cache%%:*}" && return 0
(( $+_lp_alias_cache )) || return 1
@ -67,6 +67,6 @@ else
disp=()
fi
_wanted printers expl printer \
compadd "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0
compadd "$@" "$disp[@]" - "${(@)_lp_alias_cache%%:*}" && return 0
return 1

View file

@ -7,18 +7,12 @@ if chkconfig --list > /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

View file

@ -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)(-.)'

View file

@ -3,4 +3,4 @@
local expl
_description files expl 'texinfo file'
_files "$expl[@]" -g '*.(texinfo|texi)(-.)'
_files "$@" "$expl[@]" -g '*.(texinfo|texi)(-.)'

View file

@ -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 "$@" -

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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]' \

View file

@ -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'

View file

@ -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

View file

@ -2,4 +2,4 @@
local expl
_wanted arrays expl array _parameters "$@" -g '*array*'
_wanted arrays expl array _parameters "$@" - -g '*array*'

View file

@ -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

View file

@ -2,4 +2,4 @@
local expl
_wanted functions expl 'shell function' compadd "$@" -k functions
_wanted functions expl 'shell function' compadd -k "$@" - functions

View file

@ -1,3 +1,3 @@
#compdef bg
_jobs -s
_jobs -s "$@"

View file

@ -1,3 +1,3 @@
#compdef disown fg
_jobs
_jobs "$@"

View file

@ -2,4 +2,4 @@
local expl
_wanted limits expl 'process limits' compadd ${${(f)"$(limit)"}%% *}
_wanted limits expl 'process limit' compadd "$@" - ${${(f)"$(limit)"}%% *}

View file

@ -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

View file

@ -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

View file

@ -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