[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 554ab3d1bde90eb4cff3b871f23dc52d8755844d

David Paleino d.paleino at gmail.com
Fri Jun 5 06:38:32 UTC 2009


The following commit has been merged in the master branch:
commit 554ab3d1bde90eb4cff3b871f23dc52d8755844d
Author: David Paleino <d.paleino at gmail.com>
Date:   Fri Jun 5 08:38:19 2009 +0200

    Split aptitude-related completions to contrib/aptitude

diff --git a/CHANGES b/CHANGES
index c06b9d9..fdcad44 100644
--- a/CHANGES
+++ b/CHANGES
@@ -23,6 +23,7 @@ bash-completion (1.x)
   * Split chkconfig completion to contrib/chkconfig
   * Split chsh completion to contrib/chsh
   * Split apt_build completion to contrib/apt-build
+  * Split aptitude-related completions to contrib/aptitude
 
   [ Ville Skyttä ]
   * Split yum and yum-arch completion into contrib/yum.
diff --git a/Makefile.am b/Makefile.am
index f2f3572..c71a535 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,6 +5,7 @@ bashcompdir = $(sysconfdir)/bash_completion.d
 bashcomp_DATA = contrib/ant \
 		contrib/apache2ctl \
 		contrib/apt-build \
+		contrib/aptitude \
 		contrib/aspell \
 		contrib/autorpm \
 		contrib/bind-utils \
diff --git a/bash_completion b/bash_completion
index 439e630..59160ba 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1955,103 +1955,6 @@ _apt_cache()
 } &&
 complete -F _apt_cache $filenames apt-cache
 
-
-# Debian aptitude(1) completion
-#
-have aptitude && {
-have grep-status && {
-_comp_dpkg_hold_packages()
-{
-	grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
-}
-} || {
-_comp_dpkg_hold_packages()
-{
-	grep -B 2 'hold' /var/lib/dpkg/status | grep "Package: $1" \
-		| cut -d\  -f2
-}
-}
-
-_aptitude()
-{
-	local cur dashoptions prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-
-	dashoptions='-S -u -i -h --help --version -s --simulate -d \
-		     --download-only -P --prompt -y --assume-yes -F \
-		     --display-format -O --sort -w --width -f -r -g \
-		     --with-recommends --with-suggests -R -G \
-		     --without-recommends --without-suggests -t \
-		     --target-release -V --show-versions -D --show-deps\
-		     -Z -v --verbose --purge-unused --schedule-only'
-
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-	    if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep) ]]; then
-		special=${COMP_WORDS[i]}
-	    fi
-	    #exclude some mutually exclusive options
-	    [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i}
-	    [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u}
-	done
-
-	if [[ -n "$special" ]]; then
-	   case $special in
-	       @(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep))
-		   COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
-		   return 0
-		   ;;
-	       @(purge|remove|reinstall|forbid-version))
-  		   COMPREPLY=( $( _comp_dpkg_installed_packages $cur ) )
-		   return 0
-		   ;;
-	       unhold)
-  		   COMPREPLY=( $( _comp_dpkg_hold_packages $cur ) )
-		   return 0
-		   ;;
-
-	   esac
-	fi
-
-	case $prev in
-	    # don't complete anything if these options are found
-	    @(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
-		return 0
-		;;
-
-	    -S)
-		_filedir
-		return 0
-		;;
-
-	    -@(t|-target-release|-default-release))
-		COMPREPLY=( $( apt-cache policy | \
-		    grep "release.o=Debian,a=$cur" | \
-		    sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
-		return 0
-		;;
-
-	esac
-
-	if [[ "$cur" == -* ]]; then
-	    COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) )
-	else
-	    COMPREPLY=( $( compgen -W 'update upgrade safe-upgrade forget-new clean \
-				       autoclean install reinstall remove \
-				       hold unhold purge markauto unmarkauto why why-not \
-				       dist-upgrade full-upgrade download search show \
-				       forbid-version changelog keep-all build-dep' -- $cur ) )
-	fi
-
-
-	return 0
-}
-complete -F _aptitude $default aptitude
-}
-
 # This function provides simple user at host completion
 #
 _user_at_host() {
diff --git a/contrib/aptitude b/contrib/aptitude
new file mode 100644
index 0000000..ea8d103
--- /dev/null
+++ b/contrib/aptitude
@@ -0,0 +1,95 @@
+# Debian aptitude(1) completion
+#
+have aptitude && {
+have grep-status && {
+_comp_dpkg_hold_packages()
+{
+	grep-status -P -e "^$1" -a -FStatus 'hold' -n -s Package
+}
+} || {
+_comp_dpkg_hold_packages()
+{
+	grep -B 2 'hold' /var/lib/dpkg/status | grep "Package: $1" \
+		| cut -d\  -f2
+}
+}
+
+_aptitude()
+{
+	local cur dashoptions prev special i
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+
+	dashoptions='-S -u -i -h --help --version -s --simulate -d \
+		     --download-only -P --prompt -y --assume-yes -F \
+		     --display-format -O --sort -w --width -f -r -g \
+		     --with-recommends --with-suggests -R -G \
+		     --without-recommends --without-suggests -t \
+		     --target-release -V --show-versions -D --show-deps\
+		     -Z -v --verbose --purge-unused --schedule-only'
+
+	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+	    if [[ ${COMP_WORDS[i]} == @(install|reinstall|hold|unhold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|forbid-version|purge|remove|changelog|why|why-not|keep|keep-all|build-dep) ]]; then
+		special=${COMP_WORDS[i]}
+	    fi
+	    #exclude some mutually exclusive options
+	    [[ ${COMP_WORDS[i]} == '-u' ]] && dashoptions=${dashoptions/-i}
+	    [[ ${COMP_WORDS[i]} == '-i' ]] && dashoptions=${dashoptions/-u}
+	done
+
+	if [[ -n "$special" ]]; then
+	   case $special in
+	       @(install|hold|markauto|unmarkauto|dist-upgrade|full-upgrade|download|show|changelog|why|why-not|build-dep))
+		   COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
+		   return 0
+		   ;;
+	       @(purge|remove|reinstall|forbid-version))
+  		   COMPREPLY=( $( _comp_dpkg_installed_packages $cur ) )
+		   return 0
+		   ;;
+	       unhold)
+  		   COMPREPLY=( $( _comp_dpkg_hold_packages $cur ) )
+		   return 0
+		   ;;
+
+	   esac
+	fi
+
+	case $prev in
+	    # don't complete anything if these options are found
+	    @(autoclean|clean|forget-new|search|upgrade|safe-upgrade|update|keep-all))
+		return 0
+		;;
+
+	    -S)
+		_filedir
+		return 0
+		;;
+
+	    -@(t|-target-release|-default-release))
+		COMPREPLY=( $( apt-cache policy | \
+		    grep "release.o=Debian,a=$cur" | \
+		    sed -e "s/.*a=\(\w*\).*/\1/" | uniq 2> /dev/null ) )
+		return 0
+		;;
+
+	esac
+
+	if [[ "$cur" == -* ]]; then
+	    COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) )
+	else
+	    COMPREPLY=( $( compgen -W 'update upgrade safe-upgrade forget-new clean \
+				       autoclean install reinstall remove \
+				       hold unhold purge markauto unmarkauto why why-not \
+				       dist-upgrade full-upgrade download search show \
+				       forbid-version changelog keep-all build-dep' -- $cur ) )
+	fi
+
+
+	return 0
+}
+complete -F _aptitude $default aptitude
+}

-- 
bash-completion



More information about the Bash-completion-commits mailing list