From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7359 invoked from network); 14 Jan 2004 16:54:11 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 14 Jan 2004 16:54:11 -0000 Received: (qmail 4070 invoked by alias); 14 Jan 2004 16:53:57 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 19369 Received: (qmail 4020 invoked from network); 14 Jan 2004 16:53:57 -0000 Received: from localhost (HELO sunsite.dk) (127.0.0.1) by localhost with SMTP; 14 Jan 2004 16:53:57 -0000 X-MessageWall-Score: 0 (sunsite.dk) Received: from [193.109.254.211] by sunsite.dk (MessageWall 1.0.8) with SMTP; 14 Jan 2004 16:53:56 -0000 X-VirusChecked: Checked X-Env-Sender: okiddle@yahoo.co.uk X-Msg-Ref: server-10.tower-36.messagelabs.com!1074099233!3102931 X-StarScan-Version: 5.1.15; banners=-,-,- Received: (qmail 2819 invoked from network); 14 Jan 2004 16:53:53 -0000 Received: from iris.logica.co.uk (158.234.9.163) by server-10.tower-36.messagelabs.com with SMTP; 14 Jan 2004 16:53:53 -0000 Received: from gmcs3.local ([158.234.142.61]) by iris.logica.co.uk (8.12.3/8.12.3/Debian -4) with ESMTP id i0EGrquB005061 for ; Wed, 14 Jan 2004 16:53:52 GMT Received: from gmcs3.local (localhost [127.0.0.1]) by gmcs3.local (8.11.6/8.11.6/SuSE Linux 0.5) with ESMTP id i0EGweI04581 for ; Wed, 14 Jan 2004 17:58:40 +0100 X-VirusChecked: Checked X-StarScan-Version: 5.1.13; banners=.,-,- From: Oliver Kiddle To: Zsh workers Subject: PATCH: new completions Date: Wed, 14 Jan 2004 17:58:40 +0100 Message-ID: <4579.1074099520@gmcs3.local> Just a couple of new completion functions. Index: Completion/Unix/Command/_getent =================================================================== RCS file: Completion/Unix/Command/_getent diff -N Completion/Unix/Command/_getent --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Completion/Unix/Command/_getent 14 Jan 2004 16:51:24 -0000 @@ -0,0 +1,50 @@ +#compdef getent + +local curcontext="$curcontext" state line expl ret=1 +local services databases keys +local -a args +typeset -A opt_args + +if _pick_variant -r is_gnu gnu=GNU unix --version; then + args+=( + '(- 1 *)'{-\?,--help}'[display help information]' + '(- 1 *)--usage[display a short usage message]' + '(- 1 *)'{-V,--version}'[display version information]' + {-s,--service=}'[specify service configuration to use]:service:->services' + ) +fi + +_arguments -C "$args[@]" \ + '1:database:->databases' \ + '*:key:->keys' && ret=0 + +case $state in + services) + services=( /lib/libnss*(-.:fr:t:s/libnss_//) ) + _wanted services expl service compadd ${services%-*} && ret=0 + ;; + databases) + if [[ $is_gnu = gnu ]]; then + databases=( ${=${${(f)"$(_call_program databases $words[1] --help \ + 2>/dev/null)"}[(r)Supported*,-1]}[2,-1]} ) + else + databases=( passwd group hosts ipnodes services protocols ethers networks netmasks ) + fi + _wanted databases expl database compadd -a databases && ret=0 + ;; + keys) + keys=( ${(f)"$(_call_program keys $words[1] ${(kv)opt_args[(i)-s|--service]} $line[1] 2>/dev/null)"} ) + case $line[1] in + *hosts) _wanted keys expl key compadd ${=keys#* } && ret=0 ;; + networks|rpc|protocols|services) + _wanted keys expl key compadd ${=keys%% *} && ret=0 + ;; + aliases|passwd|shadow|group) + _wanted keys expl key compadd ${keys%%:*} && ret=0 + ;; + *) _message -e keys key;; + esac + ;; +esac + +return ret Index: Completion/Debian/Command/_aptitude =================================================================== RCS file: Completion/Debian/Command/_aptitude diff -N Completion/Debian/Command/_aptitude --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Completion/Debian/Command/_aptitude 14 Jan 2004 16:51:24 -0000 @@ -0,0 +1,50 @@ +#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' \ + '(-U --sort)'{-U,--sort}'[specify sort order]:sort order:()' \ + '(-w --width)'{-w,--width}'[specify output width]:width' \ + '-f[aggressivley try to fix dependencies of broken packages]' \ + '(--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)"$(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) + _deb_packages avail + ;; + remove|purge|hold) + _deb_packages installed + ;; + install|markauto|unmarkauto) + _deb_packages uninstalled + ;; + *) + (( ret )) && _message 'no more arguments' + ;; + esac + ;; +esac + +return ret Index: Completion/Zsh/Command/_precommand =================================================================== RCS file: /cvsroot/zsh/zsh/Completion/Zsh/Command/_precommand,v retrieving revision 1.3 diff -u -r1.3 _precommand --- Completion/Zsh/Command/_precommand 14 Nov 2003 11:56:56 -0000 1.3 +++ Completion/Zsh/Command/_precommand 14 Jan 2004 16:51:24 -0000 @@ -1,4 +1,4 @@ -#compdef - nohup env eval time rusage noglob nocorrect exec +#compdef - nohup env eval time rusage noglob nocorrect exec catchsegv shift words (( CURRENT-- ))