[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