diff options
Diffstat (limited to 'Completion/Debian/_deb_packages')
-rw-r--r-- | Completion/Debian/_deb_packages | 12 |
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}"}" } |