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

Ville Skyttä ville.skytta at iki.fi
Mon Jun 8 17:42:01 UTC 2009


The following commit has been merged in the master branch:
commit cba4d8faf846576248854331c92959facea44c0c
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Mon Jun 8 20:41:52 2009 +0300

    Split various FreeBSD completions to contrib/ .

diff --git a/CHANGES b/CHANGES
index dd046fa..69b8f51 100644
--- a/CHANGES
+++ b/CHANGES
@@ -83,6 +83,9 @@ bash-completion (1.x)
   * Remove debug output noise from quotaon completion.
   * Split Linux wireless tools completion to contrib/wireless-tools.
   * Add mock completion.
+  * Split FreeBSD kld(un)load completion to contrib/kldload.
+  * Split FreeBSD pkg_* completion to contrib/pkg_install.
+  * Split FreeBSD portupgrade and friends completion to contrib/portupgrade.
 
   [ Todd Zullinger ]
   * Make yum complete on filenames after install, deplist, update and upgrade
diff --git a/Makefile.am b/Makefile.am
index 1922c6a..ecc9b52 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,6 +56,7 @@ bashcomp_DATA = contrib/ant \
 		contrib/isql \
 		contrib/jar \
 		contrib/java \
+		contrib/kldload \
 		contrib/larch \
 		contrib/ldapvi \
 		contrib/lftp \
@@ -91,6 +92,8 @@ bashcomp_DATA = contrib/ant \
 		contrib/perl \
 		contrib/pine \
 		contrib/pkg-config \
+		contrib/pkg_install \
+		contrib/portupgrade \
 		contrib/postgresql \
 		contrib/postfix \
 		contrib/povray \
diff --git a/bash_completion b/bash_completion
index 0ee070f..58509aa 100644
--- a/bash_completion
+++ b/bash_completion
@@ -1407,104 +1407,6 @@ for i in env netstat seq uname units wget; do
 done
 unset i
 
-[ $UNAME = FreeBSD ] && {
-# FreeBSD package management tool completion
-#
-_pkg_delete()
-{
-	local cur pkgdir prev
-
-	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	[ "$prev" = "-o" -o "$prev" = "-p" -o "$prev" = "-W" ] && return 0
-
-	COMPREPLY=( $( compgen -d $pkgdir$cur ) )
-	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
-
-	return 0
-}
-complete -F _pkg_delete $dirnames pkg_delete pkg_info
-have pkg_deinstall && complete -F _pkg_delete $dirnames pkg_deinstall
-
-# FreeBSD kernel module commands
-#
-_kldload()
-{
-	local cur moddir
-
-	moddir=/modules/
-	[ -d $moddir ] || moddir=/boot/kernel/
-	cur=`_get_cword`
-
-	COMPREPLY=( $( compgen -f $moddir$cur ) )
-	COMPREPLY=( ${COMPREPLY[@]#$moddir} )
-	COMPREPLY=( ${COMPREPLY[@]%.ko} )
-
-	return 0
-}
-complete -F _kldload $filenames kldload
-
-_kldunload()
-{
-	local cur
-	cur=`_get_cword`
-	COMPREPLY=( $(kldstat | sed -ne "s/^.*[ \t]\+\($cur[a-z_]\+\).ko$/\1/p") )
-}
-complete -F _kldunload $filenames kldunload
-}
-
-# FreeBSD portupgrade completion
-#
-have portupgrade &&
-_portupgrade()
-{
-	local cur pkgdir prev
-
-	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-
-	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
-
-	COMPREPLY=( $( compgen -d $pkgdir$cur ) )
-	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
-	COMPREPLY=( ${COMPREPLY[@]%-*} )
-
-	return 0
-} &&
-complete -F _portupgrade $dirnames portupgrade
-
-# FreeBSD portinstall completion
-#
-have portinstall &&
-_portinstall()
-{
-	local cur portsdir prev indexfile
-	local -a COMPREPLY2
-
-	portsdir=${PORTSDIR:-/usr/ports}/
-	cur=`_get_cword`
-	prev=${COMP_WORDS[COMP_CWORD-1]}
-	# First try INDEX-5
-	indexfile=$portsdir/INDEX-5
-	# Then INDEX if INDEX-5 does not exist or system is not FreeBSD 5.x
-	[ "${OSTYPE%.*}" = "freebsd5" -a -f $indexfile ] ||
-	  indexfile=$portsdir/INDEX
-
-	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
-
-	COMPREPLY=( $( egrep "^$cur" < $indexfile | cut -d'|' -f1 ) )
-	COMPREPLY2=( $( egrep "^[^\|]+\|$portsdir$cur" < $indexfile | \
-			cut -d'|' -f2 ) )
-	COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
-	COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
-
-	return 0
-} &&
-complete -F _portinstall $dirnames portinstall
-
 # Slackware Linux removepkg completion
 #
 have removepkg && [ -f /etc/slackware-version ] &&
diff --git a/contrib/kldload b/contrib/kldload
new file mode 100644
index 0000000..018bd77
--- /dev/null
+++ b/contrib/kldload
@@ -0,0 +1,34 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for FreeBSD kernel module commands
+
+[ $UNAME = FreeBSD ] &&
+{
+
+_kldload()
+{
+	local cur moddir
+
+	moddir=/modules/
+	[ -d $moddir ] || moddir=/boot/kernel/
+	cur=`_get_cword`
+
+	COMPREPLY=( $( compgen -f $moddir$cur ) )
+	COMPREPLY=( ${COMPREPLY[@]#$moddir} )
+	COMPREPLY=( ${COMPREPLY[@]%.ko} )
+
+	return 0
+}
+complete -F _kldload $filenames kldload
+
+_kldunload()
+{
+	local cur
+	cur=`_get_cword`
+	COMPREPLY=( $(kldstat | sed -ne "s/^.*[ \t]\+\($cur[a-z_]\+\).ko$/\1/p") )
+}
+complete -F _kldunload $filenames kldunload
+}
+
+}
diff --git a/contrib/pkg_install b/contrib/pkg_install
new file mode 100644
index 0000000..48a372c
--- /dev/null
+++ b/contrib/pkg_install
@@ -0,0 +1,26 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for FreeBSD base package management tools
+
+[ $UNAME = FreeBSD ] &&
+{
+
+_pkg_delete()
+{
+	local cur pkgdir prev
+
+	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	[ "$prev" = "-o" -o "$prev" = "-p" -o "$prev" = "-W" ] && return 0
+
+	COMPREPLY=( $( compgen -d $pkgdir$cur ) )
+	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
+
+	return 0
+}
+complete -F _pkg_delete $dirnames pkg_delete pkg_info
+
+}
diff --git a/contrib/portupgrade b/contrib/portupgrade
new file mode 100644
index 0000000..339523f
--- /dev/null
+++ b/contrib/portupgrade
@@ -0,0 +1,54 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for FreeBSD portupgrade package
+
+have portupgrade &&
+_portupgrade()
+{
+	local cur pkgdir prev
+
+	pkgdir=${PKG_DBDIR:-/var/db/pkg}/
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+
+	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
+
+	COMPREPLY=( $( compgen -d $pkgdir$cur ) )
+	COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
+	COMPREPLY=( ${COMPREPLY[@]%-*} )
+
+	return 0
+} &&
+complete -F _portupgrade $dirnames portupgrade
+
+have portinstall &&
+_portinstall()
+{
+	local cur portsdir prev indexfile
+	local -a COMPREPLY2
+
+	portsdir=${PORTSDIR:-/usr/ports}/
+	cur=`_get_cword`
+	prev=${COMP_WORDS[COMP_CWORD-1]}
+	# First try INDEX-5
+	indexfile=$portsdir/INDEX-5
+	# Then INDEX if INDEX-5 does not exist or system is not FreeBSD 5.x
+	[ "${OSTYPE%.*}" = "freebsd5" -a -f $indexfile ] ||
+	  indexfile=$portsdir/INDEX
+
+	[ "$prev" = "-l" -o "$prev" = "-L" -o "$prev" = "-o" ] && return 0
+
+	COMPREPLY=( $( egrep "^$cur" < $indexfile | cut -d'|' -f1 ) )
+	COMPREPLY2=( $( egrep "^[^\|]+\|$portsdir$cur" < $indexfile | \
+			cut -d'|' -f2 ) )
+	COMPREPLY2=( ${COMPREPLY2[@]#$portsdir} )
+	COMPREPLY=( "${COMPREPLY[@]}" "${COMPREPLY2[@]}" )
+
+	return 0
+} &&
+complete -F _portinstall $dirnames portinstall
+
+# _pkg_delete is in pkg_install
+type _pkg_delete &>/dev/null && have pkg_deinstall && \
+complete -F _pkg_delete $dirnames pkg_deinstall

-- 
bash-completion



More information about the Bash-completion-commits mailing list