about summary refs log tree commit diff
path: root/Completion/Debian/_deb_packages
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-01-30 00:59:22 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-01-30 00:59:22 +0000
commitc9a4d1c4de3307af86d8fd24733c376109b7187f (patch)
treeac8f95561885ea0aab70046e22f052d0711bdced /Completion/Debian/_deb_packages
parentbfb27e85d0b2b26c3f650733a1f18c7223fadf43 (diff)
downloadzsh-c9a4d1c4de3307af86d8fd24733c376109b7187f.tar.gz
zsh-c9a4d1c4de3307af86d8fd24733c376109b7187f.tar.xz
zsh-c9a4d1c4de3307af86d8fd24733c376109b7187f.zip
zsh-workers/9469
Diffstat (limited to 'Completion/Debian/_deb_packages')
-rw-r--r--Completion/Debian/_deb_packages12
1 files changed, 10 insertions, 2 deletions
diff --git a/Completion/Debian/_deb_packages b/Completion/Debian/_deb_packages
index efd33f93b..29b37ea48 100644
--- a/Completion/Debian/_deb_packages
+++ b/Completion/Debian/_deb_packages
@@ -32,16 +32,24 @@ _deb_packages_updage_uninstalled () {
 }
 
 _deb_packages () {
-  local command="$argv[$#]" expl cachevar
+  local command="$argv[$#]" expl cachevar pkgset
 
   [[ "$command" = (installed|uninstalled|avail) ]] || {
     _message "_deb_packages:unknown command: $command"
     return
   }
 
+  zstyle -s ":completion${curcontext}" packageset pkgset
+
+  [[ "$pkgset" = (installed|uninstalled|avail|available) ]] || {
+    pkgset="$command"
+  }
+
+  [[ "$pkgset" = "available" ]] && pkgset="avail"
+
   expl=("${(@)argv[1,-2]}")
 
-  _deb_packages_updage_$command
+  _deb_packages_updage_$pkgset
 
   _tags packages && compadd "$expl[@]" - "${(e):-"\${(@)$cachevar}"}"
 }