summaryrefslogtreecommitdiff
path: root/Completion/Debian/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Debian/Command')
-rw-r--r--Completion/Debian/Command/_apt29
-rw-r--r--Completion/Debian/Command/_aptitude2
-rw-r--r--Completion/Debian/Command/_deborphan42
3 files changed, 58 insertions, 15 deletions
diff --git a/Completion/Debian/Command/_apt b/Completion/Debian/Command/_apt
index 074fb0164..645b02279 100644
--- a/Completion/Debian/Command/_apt
+++ b/Completion/Debian/Command/_apt
@@ -408,12 +408,13 @@ _apt-cmd () {
/$'policy\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \| \
/$'update\0'/ \| \
\( \
- /$'install\0'\|$'download\0'\|$'source\0'\|$'build-dep\0'/ \
- /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \
- \( \
- /$'[^\0/]#/'/ /$'[^\0/]#\0'/ ':release name::_apt_releases' \| \
- /$'[^\0=]#='/ /$'[^\0=]#\0'/ ':package version::_apt_versions_of_binary_package' \
- \) \
+ /$'(install|download|source|build-dep)\0'/ -'subcmd=${match%?}' \
+ /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=" "$expl_packages[@]" avail' \# \
+ \( \
+ // '%(.|)/%' -'[[ $subcmd = install ]]' /'[]'/ ':files:package file:_files -g "*.deb(-.)"' \| \
+ /$'[^\0/=]#\/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \
+ /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \| \
+ \) \
\) \| \
/$'remove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \
/$'purge\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \
@@ -427,7 +428,7 @@ _apt-cmd () {
/"[]"/ ':argument-1::compadd "$expl_action[@]" list search showsrc show depends rdepends policy update install download source build-dep remove upgrade full-upgrade dist-upgrade edit-sources autoclean changelog autoremove purge'
_apt-cmd () {
- local expl_action expl_packages
+ local expl_action expl_packages subcmd
_description actions expl_action 'action'
_description packages expl_packages 'package'
@@ -475,11 +476,11 @@ _apt-get () {
/$'upgrade\0'/ \| \
\( \
/$'install\0'\|$'download\0'\|$'source\0'\|$'build-dep\0'/ \
- /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" avail' \# \
- \( \
- /$'[^\0/]#/'/ /$'[^\0/]#\0'/ ':release name::_apt_releases' \| \
- /$'[^\0=]#='/ /$'[^\0=]#\0'/ ':package version::_apt_versions_of_binary_package' \
- \) \
+ /$'[^\0]#\0'/ ':packages::_deb_packages -qr "\n\t\- /=" "$expl_packages[@]" avail' \# \
+ \( \
+ /$'[^\0/=]#/'/ /'[]'/ ':apt-releases:release name:_apt_releases' \| \
+ /$'[^\0/=]#='/ /'[]'/ ':apt-package-versions:package version:_apt_versions_of_binary_package' \
+ \) \
\) \| \
/$'remove\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \
/$'purge\0'/ /$'[^\0]#\0'/ ':packages::_deb_packages "$expl_packages[@]" installed' \# \| \
@@ -609,7 +610,7 @@ _apt_releases_update () {
then
local -a tmp=("${(f)$(apt-cache policy)}")
_apt_releases=(
-${${${${(M)tmp:#*release*}#*a=}%%,*}:#now}
+${${${${(M)tmp:#*release*a=*}#*a=}%%,*}:#now}
${${${${(M)tmp:#*release*n=*}#*n=}%%,*}:#now}
)
typeset -U _apt_releases
@@ -662,7 +663,7 @@ _apt_versions_of_binary_package() {
done
done
- _describe -t apt-package-versions "package versions" kv "$@"
+ _describe -t apt-package-versions 'package version' kv "$@"
}
_apt_caching_policy () {
diff --git a/Completion/Debian/Command/_aptitude b/Completion/Debian/Command/_aptitude
index b2b54599f..f79a100a8 100644
--- a/Completion/Debian/Command/_aptitude
+++ b/Completion/Debian/Command/_aptitude
@@ -80,7 +80,7 @@ _arguments -C \
case $state in
cmds)
- cmds=( ${${(M)${(f)"$(LC_ALL=C _call_program commands aptitude -h 2>/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l})
+ cmds=( ${${(M)${(f)"$(_call_program commands aptitude -h 2>/dev/null)"}:# [^- ][^ ]## *}/(#b) ([^ ]##) ##(- )#([^- ]*)/$match[1]:$match[3]:l})
_describe -t commands 'aptitude command' cmds && ret=0
;;
diff --git a/Completion/Debian/Command/_deborphan b/Completion/Debian/Command/_deborphan
new file mode 100644
index 000000000..9f6df6f65
--- /dev/null
+++ b/Completion/Debian/Command/_deborphan
@@ -0,0 +1,42 @@
+#compdef deborphan
+
+local keep=(/var/lib/deborphan/keep(N) /dev/null)
+_arguments : \
+ {--help,-h}'[help]' \
+ {--status-file,-f}'[specify status file]:file:_files' \
+ {--version,-v}'[version]' \
+ {--show-deps,-d}'[show dependencies for packages that have them]' \
+ {--show-priority,-P}'[show priority of packages found]' \
+ {--show-section,-s}'[show the sections the packages are in]' \
+ --no-show-section'[do not show sections]' \
+ {--show-size,-z}'[show installed size of packages found]' \
+ {--all-packages,-a}'[compare all packages, not just libs]' \
+ {--exclude,-e}'[work as if specified packages were not installed]:packages:_sequence _deb_packages - avail' \
+ {--force-hold,-H}'[ignore hold flags]' \
+ {--nice-mode,-n}'[disable checks for "recommends" and "suggests"]' \
+ --ignore-recommends'[disable checks for recommends]' \
+ --ignore-suggests'[disable checks for "suggests"]' \
+ {--priority,-p}'[select only packages with at least specified priority]:priority:' \
+ --find-config'[find "orphaned" configuration files]' \
+ --libdevel'[search in libdevel in addition to libs and oldlibs]' \
+ {--add-keep,-A}'[packages to never report]:*:package:_deb_packages installed' \
+ {--keep-file,-k}'[file to get/store info about kept packages]:file:_files' \
+ {--list-keep,-L}'[list the packages that are never reported]' \
+ {--del-keep,-R}"[packages to remove from the 'keep' file]:*:package:compadd -X 'kept package' $(< $keep[1])" \
+ {--zero-keep,-Z}'[remove all packages from the "keep" file]' \
+ --guess-common'[try to report common packages]' \
+ --guess-data'[try to report data packages]' \
+ --guess-debug'[try to report debugging libraries]' \
+ --guess-dev'[try to report development packages]' \
+ --guess-doc'[try to report documentation packages]' \
+ --guess-dummy'[try to report dummy packages]' \
+ --guess-kernel'[try to report kernel modules]' \
+ --guess-interpreters'[try to report interpreter libraries]' \
+ --guess-mono'[try to report mono libraries]' \
+ --guess-perl'[try to report perl libraries]' \
+ --guess-pike'[try to report pike libraries]' \
+ --guess-python'[try to report python libraries]' \
+ --guess-ruby'[try to report ruby libraries]' \
+ --guess-section'[try to report libraries in wrong sections]' \
+ --guess-all'[try all of the above]' \
+ --guess-only'[use --guess options only]'