zsh-workers
 help / color / mirror / code / Atom feed
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Zsh workers <zsh-workers@sunsite.dk>
Subject: PATCH: new completions
Date: Wed, 14 Jan 2004 17:58:40 +0100	[thread overview]
Message-ID: <4579.1074099520@gmcs3.local> (raw)

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


             reply	other threads:[~2004-01-14 16:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-14 16:58 Oliver Kiddle [this message]
2004-01-15  7:33 ` Bart Schaefer
2004-01-15  9:41   ` Oliver Kiddle
  -- strict thread matches above, loose matches on Subject: below --
1999-06-18 12:49 PATCH: New completions Kiddle, Oliver
1999-06-18 13:04 ` Falk Hueffner
1999-06-18 13:31   ` Tanaka Akira
1999-06-18 13:27 ` Tanaka Akira
1999-06-18 10:36 Sven Wischnowsky
1999-06-18 10:01 Sven Wischnowsky
1999-06-18  9:30 Kiddle, Oliver
1999-06-18 12:06 ` Tanaka Akira

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4579.1074099520@gmcs3.local \
    --to=okiddle@yahoo.co.uk \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).