Package: zsh
Version: 4.3.2-20
Severity: wishlist
Hi,
I've improved completion for invoke-rc.d and aptitude :
+ _invoke-rc.d completion permits to take real options from script you want to
start and not some predefined options.
+ _aptitude completion permits now to have completion on package names with
'aptitude show'
I've made a new completion for debian specific apache utils :
+ _a2utils gives completion for a2ensite, a2dissite, a2enmod, a2dismod
commands.
Scripts are attached to this email, it will be nice to add them in Debian.
regards
E. Bouthenot
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17.4dedibox_r5
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Versions of packages zsh depends on:
ii debconf [debconf-2.0] 1.5.6 Debian configuration management sy
ii libc6 2.3.6.ds1-6 GNU C Library: Shared libraries
ii libncurses5 5.5-4 Shared libraries for terminal hand
Versions of packages zsh recommends:
ii libcap1 1:1.10-14 support for getting/setting POSIX.
ii libpcre3 6.7-1 Perl 5 Compatible Regular Expressi
-- no debconf information
#compdef invoke-rc.d
local state ret=-1
_arguments -C \
'(- 1 *)--help[display usage help]' \
'--quiet[quiet mode, no error messages displayed]' \
'--try-anyway[try to run script while non-fatal error is detected]' \
'--disclose-deny[return status code 101 instead of 0 if the script action
is denied]' \
'--query[returns one of the status codes 100-106. Does not run the init
script]' \
'--no-fallback[ignore any fallback action requests by the policy]' \
'--force[try to run the init script regardless of policy and errors]' \
'1:service:_services' \
'2:service action:->saction' \
'*::arguments _normal' \
&& ret=0
case $state in
saction)
case $words[CURRENT-1] in
--*)
;;
*)
actions=($(sed -ne "y/|/ /; s/^.*Usage:[ ]*[^ ]*[
]*{*\([^}\"]*\).*$/\1/p" /etc/init.d/$words[CURRENT-1]))
_wanted actions expl actions compadd $actions
;;
esac
;;
esac
return ret#compdef aptitude
local curcontext="$curcontext" state line cmds ret=1
_arguments -C \
'(- 1 *)'{-h,--help}'[display help information]' \
'(- 1 *)--version[display version information]' \
'(-s --simulate)'{-s,--simulate}'[print actions without performing them]' \
'(-d --download-only)'{-d,--download-only}"[just download packages - don't
install]" \
'(-P --prompt)'{-P,--prompt}'[always display a prompt]' \
'(-y --assume-yes)'{-y,--assume-yes}'[assume yes answer to questions]' \
'(-F --display-format)'{-F,--display-format}'[specify output format for
search command]:format' \
'(-O --sort)'{-O,--sort}'[specify sort order]:sort order:()' \
'(-w --width)'{-w,--width}'[specify output width]:width' \
'-f[aggressivley try to fix dependencies of broken packages]' \
'(-V --show-versions)'{-V,--show-versions}'[show which versions of packages
will be installed]' \
'(-D --show-deps)'{-D,--show-deps}'[show brief explanations of automatic
installations and removals]' \
'-Z[show disk space changes for each package]' \
'(-v --verbose)'{-v,--verbose}'[causes some commands to display extra
information]' \
'(--without-recommends)--with-recommends[install recommended packages when
installing new packages]' \
'(--without-suggests)--with-suggests[install suggested packages when
installing new packages]' \
'(--with-recommends)--without-recommends[ignore recommended packages when
installing new packages]' \
'(--with-suggests)--without-suggests[ignore suggested packages when
installing new packages]' \
'1: :->cmds' \
'*: :->args' && ret=0
case $state in
cmds)
cmds=( ${${(M)${(f)"$(LC_ALL=C _call_program commands aptitude -h
2>/dev/null)"}:#* - *}/(#b) (*[^ ]) #- (*)/$match[1]:$match[2]:l})
_describe -t commands 'aptitude command' cmds && ret=0
;;
args)
case $line[1] in
search)
_message -e patterns pattern
;;
download|show)
_deb_packages avail && ret=0
;;
remove|purge|hold)
_deb_packages installed && ret=0
;;
install|markauto|unmarkauto)
_deb_packages uninstalled && ret=0
;;
*)
(( ret )) && _message 'no more arguments'
;;
esac
;;
esac
return ret
#compdef a2ensite a2dissite a2enmod a2dismod
case "$service" in
a2ensite)
sites=( /etc/apache2/sites-available/*(:t) )
_wanted sites expl sites compadd $sites
;;
a2dissite)
sites=( /etc/apache2/sites-enabled/*(:t) )
_wanted sites expl sites compadd $sites
;;
a2enmod)
mods=( /etc/apache2/mods-available/*.load(:r:t) )
_wanted mods expl mods compadd $mods
;;
a2dismod)
mods=( /etc/apache2/mods-enabled/*.load(:r:t) )
_wanted mods expl mods compadd $mods
;;
esac
return 0