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

Reply via email to