From c9a4d1c4de3307af86d8fd24733c376109b7187f Mon Sep 17 00:00:00 2001 From: Tanaka Akira Date: Sun, 30 Jan 2000 00:59:22 +0000 Subject: zsh-workers/9469 --- Completion/Debian/_deb_packages | 12 ++++++++++-- Completion/Debian/_dpkg | 9 ++------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'Completion/Debian') 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}"}" } diff --git a/Completion/Debian/_dpkg b/Completion/Debian/_dpkg index fd64b3297..ca7d11a58 100644 --- a/Completion/Debian/_dpkg +++ b/Completion/Debian/_dpkg @@ -1,7 +1,5 @@ #compdef dpkg dpkg-deb -local dds - _dpkg_deb_args=('(--build)-b[build archive]:directory:_files -/' \ '(-b)--build:directory:_files -/' \ '(--contents)-c[list contents]:Debian package:_files -g \*.deb' \ @@ -22,9 +20,6 @@ _dpkg_common_args=('--help[show help]' \ '--version[show version]' \ '--licence[show licensing]') -zstyle -s ':completion${curcontext}:deb:dpkg' status dds -[[ "$dds" == installed ]] || dds="avail" - case "$words[1]" in dpkg) _arguments -s '(--install)-i[install packages]:Debian package:_files -g \*.deb' \ @@ -43,8 +38,8 @@ _arguments -s '(--install)-i[install packages]:Debian package:_files -g \*.deb' '--merge-avail[merge available]:package file:_files' \ '--clear-avail[clear available]' \ '--forget-old-unavail[forget uninstalled unavailable]' \ - '(--status)-s[display package status]:packages:_deb_packages $dds' \ - '(-s)--status:packages:_deb_packages $dds' \ + '(--status)-s[display package status]:packages:_deb_packages installed' \ + '(-s)--status:packages:_deb_packages installed' \ '(--print-avail)-p[display available details]:packages:_deb_packages avail' \ '(-p)--print-avail:packages:_deb_packages avail' \ '(--listfiles)-L[list owned files]:packages:_deb_packages installed' \ -- cgit 1.4.1