The next step is to modify _apt completion so that it can check host
system type and use _rpm_packages whenever applicable:
--- zsh-4.2.4/Completion/Debian/Command/_apt- 2004-08-01 14:48:24 +0000
+++ zsh-4.2.4/Completion/Debian/Command/_apt 2005-03-11 10:33:49 +0000
@@ -1,6 +1,8 @@
#compdef apt-get apt-cache apt-cdrom apt-config
_apt () {
+ local deb=deb
+ [ -f /etc/debian_version ] || deb=rpm
case "$service" in
apt-get) _apt-get "$@";;
apt-cache) _apt-cache "$@";;
@@ -423,16 +425,16 @@ _apt-get () {
/$'update\0'/ \| \
/$'upgrade\0'/ \| \
\( \
- /$'install\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \
+ /$'install\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \
/$'[^\0/]#/'/ /$'[^\0/]#\0'/ ':release name::_apt_releases' \) \| \
- /$'remove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \
+ /$'remove\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" installed' \# \| \
/$'dist-upgrade\0'/ \| \
/$'dselect-upgrade\0'/ \| \
/$'clean\0'/ \| \
/$'autoclean\0'/ \| \
/$'check\0'/ \| \
- /$'source\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'build-dep\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
+ /$'source\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'build-dep\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
/$'help\0/' \| \
/"[]"/ ':argument-1::compadd "$expl_action[@]" update upgrade install remove dist-upgrade dselect-upgrade clean autoclean check source build-dep help'
@@ -467,20 +469,20 @@ _apt-cache () {
/$'help\0'/ \| \
/$'add\0'/ /$'[^\0]#\0'/ ':files:index files:_files "$expl[@]"' \# \| \
/$'gencaches\0'/ \| \
- /$'showpkg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'showsrc\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
+ /$'showpkg\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'showsrc\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
/$'stats\0'/ \| \
/$'dump\0'/ \| \
/$'dumpavail\0'/ \| \
/$'unmet\0'/ \| \
/$'search\0'/ /$'[^\0]#\0'/ ':strings:pattern:' \| \
- /$'show\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'depends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'rdepends\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
+ /$'show\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'depends\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'rdepends\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
/$'pkgnames\0'/ /$'[^\0]#\0'/ ':strings:prefix:' \| \
- /$'dotty\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'xvcg\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
- /$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
+ /$'dotty\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'xvcg\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
+ /$'policy\0'/ /$'[^\0]#\0'/ :packages::_${deb}_packages' "$expl_packages[@]" avail' \# \| \
/"[]"/ ':argument-1::compadd "$expl_action[@]" help add gencaches showpkg showsrc stats dump dumpavail unmet search show depends rdepends pkgnames dotty policy xvcg'
_apt-cache () {
End of patch
Attachment:
pgpgXJ3fUc778.pgp
Description: PGP signature