[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