about summary refs log tree commit diff
path: root/Completion/Debian
diff options
context:
space:
mode:
authorPaul Ackersviller <packersv@users.sourceforge.net>2007-06-05 03:27:29 +0000
committerPaul Ackersviller <packersv@users.sourceforge.net>2007-06-05 03:27:29 +0000
commit32019238309f8bd6316a69bbf663920fdcb74a16 (patch)
treeea59fb92e8119e7fa6b4601c90c44ce2b478332d /Completion/Debian
parent6f828c4a1460666391f5bded6dc1cd4916a1192c (diff)
downloadzsh-32019238309f8bd6316a69bbf663920fdcb74a16.tar.gz
zsh-32019238309f8bd6316a69bbf663920fdcb74a16.tar.xz
zsh-32019238309f8bd6316a69bbf663920fdcb74a16.zip
Merge of users/10162, and workers/{21571,22817,23252}.
Diffstat (limited to 'Completion/Debian')
-rw-r--r--Completion/Debian/Command/_aptitude33
1 files changed, 26 insertions, 7 deletions
diff --git a/Completion/Debian/Command/_aptitude b/Completion/Debian/Command/_aptitude
index 6ca8f18cd..4d52cca8e 100644
--- a/Completion/Debian/Command/_aptitude
+++ b/Completion/Debian/Command/_aptitude
@@ -2,11 +2,22 @@
 
 local curcontext="$curcontext" state line cmds ret=1
 
+function _aptitude_release() {
+  #{{{
+  local expl releases
+  releases=(
+${${(M)${(f)"$(</etc/apt/sources.list)"}\
+:#[ $'\t']#deb(|-src)*}/(#b)[ $'\t']#[^ $'\t']##[ $'\t']##[^ $'\t']##[ $'\t']##([^ $'\t']##)*/$match[1]}
+  )
+  _wanted list expl release compadd ${expl} - ${(u)releases}
+  #}}}
+}
+
 _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]" \
+  '(-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' \
@@ -17,16 +28,24 @@ _arguments -C \
   '(-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]' \
+  '(-R --without-recommends)'{-R,--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]' \
+  '(-r --with-recommends)'{-r,--without-recommends}'[ignore recommended packages when installing new packages]' \
   '(--with-suggests)--without-suggests[ignore suggested packages when installing new packages]' \
+  '(-t --target-release)'{-t,--target-release}'[set the release from which packages should be installed]:release:_aptitude_release' \
+  '(-q --quiet)'{-q=,--quiet=}'[less Output]:level' \
+  '--schedule-only[schedule operations to be performed in the future]' \
+  '--purge-unused[purge unused packages instead of removing]' \
+  '--visual-preview[start up the visual interface and display its preview screen]' \
+  '-S[load the extended state information from non-standard state file]:state file:_files' \
+  '-u[begin updating the package lists as soon as the program starts]' \
+  '-i[displays a download preview when the program starts]' \
   '1: :->cmds' \
   '*: :->args' && ret=0
 
 case $state in
   cmds)
-    cmds=( ${${(M)${(f)"$(aptitude -h 2>/dev/null)"}:#* - *}/(#b) (*[^ ]) #- (*)/$match[1]:$match[2]:l})
+    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
   ;;
@@ -35,13 +54,13 @@ case $state in
       search)
         _message -e patterns pattern
       ;;
-      download)
+      download|show|changelog)
         _deb_packages avail && ret=0
       ;;
-      remove|purge|hold)
+      (remove|purge|hold|unhold|reinstall|forbid-version|markauto|unmarkauto)
         _deb_packages installed && ret=0
       ;;
-      install|markauto|unmarkauto)
+      install)
         _deb_packages uninstalled && ret=0
       ;;
       *)