[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 477f3cbae9496328f44b052225d631eb4e55e153

David Paleino d.paleino at gmail.com
Fri Jun 5 06:39:43 UTC 2009


The following commit has been merged in the master branch:
commit 477f3cbae9496328f44b052225d631eb4e55e153
Author: David Paleino <d.paleino at gmail.com>
Date:   Fri Jun 5 08:39:28 2009 +0200

    Split apt-cache and apt-get completions to contrib/apt

diff --git a/CHANGES b/CHANGES
index fdcad44..16ca5a8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -24,6 +24,7 @@ bash-completion (1.x)
   * Split chsh completion to contrib/chsh
   * Split apt_build completion to contrib/apt-build
   * Split aptitude-related completions to contrib/aptitude
+  * Split apt-cache and apt-get completions to contrib/apt
 
   [ Ville Skyttä ]
   * Split yum and yum-arch completion into contrib/yum.
diff --git a/Makefile.am b/Makefile.am
index c71a535..7a54e91 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,6 +4,7 @@ sysconf_DATA = bash_completion
 bashcompdir = $(sysconfdir)/bash_completion.d
 bashcomp_DATA = contrib/ant \
 		contrib/apache2ctl \
+		contrib/apt \
 		contrib/apt-build \
 		contrib/aptitude \
 		contrib/aspell \
diff --git a/bash_completion b/bash_completion
index 59160ba..437c4c0 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1796,165 +1796,6 @@ _rpm()
 complete -F _rpm $filenames rpm rpmbuild
 }
 
-# Debian apt-get(8) completion.
-#
-have apt-get &&
-_apt_get()
-{
-	local cur prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep) ]]; then
-			special=${COMP_WORDS[i]}
-		fi
-	done
-
-	if [ -n "$special" ]; then
-		case $special in
-		remove|autoremove|purge)
-			if [ -f /etc/debian_version ]; then
-				# Debian system
-				COMPREPLY=( $( _comp_dpkg_installed_packages \
-						$cur ) )
-			else
-				# assume RPM based
-				_rpm_installed_packages
-			fi
-			return 0
-			;;
-		*)
-			COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
-			return 0
-			;;
-
-		esac
-	fi
-
-	case "$prev" in
-	    -@(c|-config-file))
- 		     _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 '-d -f -h -v -m -q -s -y \
-				-u -t -b -c -o --download-only --fix-broken \
-				--help --version --ignore-missing \
-				--fix-missing --no-download --quiet --simulate \
-				--just-print --dry-run --recon --no-act --yes \
-				--assume-yes --show-upgraded --only-source \
-				--compile --build --ignore-hold \
-				--target-release --no-upgrade --force-yes \
-				--print-uris --purge --reinstall \
-				--list-cleanup --default-release \
-				--trivial-only --no-remove --diff-only \
-				--no-install-recommends \
-				--tar-only --config-file --option --auto-remove' -- $cur ) )
-	else
-
-		COMPREPLY=( $( compgen -W 'update upgrade dselect-upgrade \
-				dist-upgrade install remove purge source build-dep \
-				check clean autoclean autoremove' -- $cur ) )
-
-	fi
-
-
-	return 0
-} &&
-complete -F _apt_get $filenames apt-get
-
-# Debian apt-cache(8) completion.
-#
-have apt-cache &&
-_apt_cache()
-{
-	local cur prev special i
-
-	COMPREPLY=()
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-
-	if [ "$cur" != show ]; then
-	    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
-		if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then
-		    special=${COMP_WORDS[i]}
-		fi
-	    done
-	fi
-
-
-	if [ -n "$special" ]; then
-	    case $special in
-		add)
-		    _filedir
-		    return 0
-		    ;;
-
-		showsrc)
-			COMPREPLY=( $( apt-cache dumpavail | \
-							grep "^Source: $cur" | sort | \
-							uniq | cut -f2 -d" " ) )
-			return 0
-			;;
-		
- 		*)
-		    COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
-		    return 0
-		    ;;
-
-	    esac
-	fi
-
-
-	case "$prev" in
-	     -@(c|p|s|-config-file|-@(pkg|src)-cache))
-		     _filedir
-		     return 0
-		     ;;
-	     search)
-		     if [[ "$cur" != -* ]]; then
-			    return 0
-		     fi
-		     ;;
-	esac
-
-	if [[ "$cur" == -* ]]; then
-
-		COMPREPLY=( $( compgen -W '-h -v -p -s -q -i -f -a -g -c \
-				-o --help --version --pkg-cache --src-cache \
-				--quiet --important --full --all-versions \
-				--no-all-versions --generate --no-generate \
-				--names-only --all-names --recurse \
-				--config-file --option --installed' -- $cur ) )
-	else
-
-		COMPREPLY=( $( compgen -W 'add gencaches show showpkg showsrc \
-				stats dump dumpavail unmet search search \
-				depends rdepends pkgnames dotty xvcg \
-				policy madison' -- $cur ) )
-
-	fi
-
-
-	return 0
-} &&
-complete -F _apt_cache $filenames apt-cache
-
 # This function provides simple user at host completion
 #
 _user_at_host() {
diff --git a/contrib/apt b/contrib/apt
new file mode 100644
index 0000000..2da3e51
--- /dev/null
+++ b/contrib/apt
@@ -0,0 +1,158 @@
+# Debian apt-get(8) completion.
+#
+have apt-get &&
+_apt_get()
+{
+	local cur prev special i
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+		if [[ ${COMP_WORDS[i]} == @(install|remove|autoremove|purge|source|build-dep) ]]; then
+			special=${COMP_WORDS[i]}
+		fi
+	done
+
+	if [ -n "$special" ]; then
+		case $special in
+		remove|autoremove|purge)
+			if [ -f /etc/debian_version ]; then
+				# Debian system
+				COMPREPLY=( $( _comp_dpkg_installed_packages \
+						$cur ) )
+			else
+				# assume RPM based
+				_rpm_installed_packages
+			fi
+			return 0
+			;;
+		*)
+			COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
+			return 0
+			;;
+
+		esac
+	fi
+
+	case "$prev" in
+	    -@(c|-config-file))
+ 		     _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 '-d -f -h -v -m -q -s -y \
+				-u -t -b -c -o --download-only --fix-broken \
+				--help --version --ignore-missing \
+				--fix-missing --no-download --quiet --simulate \
+				--just-print --dry-run --recon --no-act --yes \
+				--assume-yes --show-upgraded --only-source \
+				--compile --build --ignore-hold \
+				--target-release --no-upgrade --force-yes \
+				--print-uris --purge --reinstall \
+				--list-cleanup --default-release \
+				--trivial-only --no-remove --diff-only \
+				--no-install-recommends \
+				--tar-only --config-file --option --auto-remove' -- $cur ) )
+	else
+
+		COMPREPLY=( $( compgen -W 'update upgrade dselect-upgrade \
+				dist-upgrade install remove purge source build-dep \
+				check clean autoclean autoremove' -- $cur ) )
+
+	fi
+
+
+	return 0
+} &&
+complete -F _apt_get $filenames apt-get
+
+# Debian apt-cache(8) completion.
+#
+have apt-cache &&
+_apt_cache()
+{
+	local cur prev special i
+
+	COMPREPLY=()
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+
+	if [ "$cur" != show ]; then
+	    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+		if [[ ${COMP_WORDS[i]} == @(add|depends|dotty|madison|policy|rdepends|show?(pkg|src|)) ]]; then
+		    special=${COMP_WORDS[i]}
+		fi
+	    done
+	fi
+
+
+	if [ -n "$special" ]; then
+	    case $special in
+		add)
+		    _filedir
+		    return 0
+		    ;;
+
+		showsrc)
+			COMPREPLY=( $( apt-cache dumpavail | \
+							grep "^Source: $cur" | sort | \
+							uniq | cut -f2 -d" " ) )
+			return 0
+			;;
+		
+ 		*)
+		    COMPREPLY=( $( apt-cache pkgnames $cur 2> /dev/null ) )
+		    return 0
+		    ;;
+
+	    esac
+	fi
+
+
+	case "$prev" in
+	     -@(c|p|s|-config-file|-@(pkg|src)-cache))
+		     _filedir
+		     return 0
+		     ;;
+	     search)
+		     if [[ "$cur" != -* ]]; then
+			    return 0
+		     fi
+		     ;;
+	esac
+
+	if [[ "$cur" == -* ]]; then
+
+		COMPREPLY=( $( compgen -W '-h -v -p -s -q -i -f -a -g -c \
+				-o --help --version --pkg-cache --src-cache \
+				--quiet --important --full --all-versions \
+				--no-all-versions --generate --no-generate \
+				--names-only --all-names --recurse \
+				--config-file --option --installed' -- $cur ) )
+	else
+
+		COMPREPLY=( $( compgen -W 'add gencaches show showpkg showsrc \
+				stats dump dumpavail unmet search search \
+				depends rdepends pkgnames dotty xvcg \
+				policy madison' -- $cur ) )
+
+	fi
+
+
+	return 0
+} &&
+complete -F _apt_cache $filenames apt-cache

-- 
bash-completion



More information about the Bash-completion-commits mailing list