summaryrefslogtreecommitdiff
path: root/completions/dpkg
diff options
context:
space:
mode:
authorDavid Paleino <dapal@debian.org>2012-01-08 00:19:18 +0100
committerDavid Paleino <dapal@debian.org>2012-01-08 00:19:18 +0100
commitc3d398fcc6e400be546c28eb1fc25abfa5816eac (patch)
tree3266a00f1037eb5522f1f8bf1a73e443ab2c26c4 /completions/dpkg
parent2c8171c38d87ddef31c92a76547d3fdf773a1337 (diff)
downloadbash-completion-c3d398fcc6e400be546c28eb1fc25abfa5816eac.tar.gz
Imported Upstream version 1.99upstream/1.99
Diffstat (limited to 'completions/dpkg')
-rw-r--r--completions/dpkg22
1 files changed, 21 insertions, 1 deletions
diff --git a/completions/dpkg b/completions/dpkg
index 247171c5..b1b34e17 100644
--- a/completions/dpkg
+++ b/completions/dpkg
@@ -10,6 +10,22 @@ _comp_dpkg_installed_packages()
{
command grep -A 1 "Package: $1" /var/lib/dpkg/status | \
command grep -B 1 -Ee "ok installed|half-installed|unpacked| \
+ half-configured" \
+ -Ee "^Essential: yes" | \
+ command grep "Package: $1" | cut -d\ -f2
+}
+}
+
+_have grep-status && {
+_comp_dpkg_purgeable_packages()
+{
+ grep-status -P -e "^$1" -a -FStatus 'install ok installed' -o -FStatus 'deinstall ok config-files' -n -s Package
+}
+} || {
+_comp_dpkg_purgeable_packages()
+{
+ command grep -A 1 "Package: $1" /var/lib/dpkg/status | \
+ command grep -B 1 -Ee "ok installed|half-installed|unpacked| \
half-configured|config-files" \
-Ee "^Essential: yes" | \
command grep "Package: $1" | cut -d\ -f2
@@ -54,10 +70,14 @@ _dpkg()
_filedir
return 0
;;
- -r|-L|-P|--remove|--purge|--listfiles)
+ -r|--remove)
COMPREPLY=( $( _comp_dpkg_installed_packages "$cur" ) )
return 0
;;
+ -L|-P|--listfiles|--purge)
+ COMPREPLY=( $( _comp_dpkg_purgeable_packages "$cur" ) )
+ return 0
+ ;;
esac
$split && return