about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Completion/Debian/Command/_aptitude25
2 files changed, 25 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7680ec118..600ef77da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2007-01-02  Clint Adams  <clint@zsh.org>
 
+	* 22817: Frank Terbeck: Completion/Debian/Command/_aptitude:
+	update for modern options, add completion of releases.
+
 	* 23080: arno: Completion/X/Command/_qiv: fix -c and -g
 	(both were mistakenly -b).
 
diff --git a/Completion/Debian/Command/_aptitude b/Completion/Debian/Command/_aptitude
index 84c33dd9d..28052cdb2 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,10 +28,18 @@ _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