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

Ville Skyttä ville.skytta at iki.fi
Wed Apr 28 21:06:45 UTC 2010


The following commit has been merged in the master branch:
commit 734cdcdc1e364314f669ce6531d57a3372306fc3
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Thu Apr 29 00:06:24 2010 +0300

    Split rmmod, insmod etc completion to contrib/module-init-tools.

diff --git a/Makefile.am b/Makefile.am
index a5e58a6..bd9284a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -82,6 +82,7 @@ bashcomp_DATA = contrib/abook \
 		contrib/medusa \
 		contrib/minicom \
 		contrib/mkinitrd \
+		contrib/module-init-tools \
 		contrib/monodevelop \
 		contrib/mount \
 		contrib/mplayer \
diff --git a/bash_completion b/bash_completion
index 5967ba8..a8973ef 100644
--- a/bash_completion
+++ b/bash_completion
@@ -980,7 +980,8 @@ _fstypes()
 # - stdout:  Filename of command in PATH with possible symbolic links resolved.
 #            Empty string if command not found.
 # - return:  True (0) if command found, False (> 0) if not.
-_realcommand() {
+_realcommand()
+{
     type -P "$1" > /dev/null && {
         if type -p realpath > /dev/null; then
             realpath "$(type -P "$1")"
@@ -1192,61 +1193,6 @@ _chgrp()
 complete -F _chgrp -o filenames chgrp
 
 
-# Linux rmmod(8) completion. This completes on a list of all currently
-# installed kernel modules.
-#
-have rmmod && {
-_rmmod()
-{
-    local cur
-
-    COMPREPLY=()
-    cur=`_get_cword`
-
-    _installed_modules "$cur"
-    return 0
-} # _rmmod()
-complete -F _rmmod rmmod
-
-
-# Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
-# list of all available modules for the version of the kernel currently
-# running.
-#
-_insmod()
-{
-    local cur prev modpath
-
-    COMPREPLY=()
-    cur=`_get_cword`
-    prev=${COMP_WORDS[COMP_CWORD-1]}
-
-    # behave like lsmod for modprobe -r
-    if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then
-        _installed_modules "$cur"
-        return 0
-    fi
-
-    # do filename completion if we're giving a path to a module
-    if [[ "$cur" == */* ]]; then
-        _filedir '@(?(k)o?(.gz))'
-        return 0
-    fi
-
-    if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
-        # do module parameter completion
-        COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \
-            cut -d: -f1 )" -- "$cur" ) )
-    else
-        _modules $(uname -r)
-    fi
-
-    return 0
-} # _insmod
-complete -F _insmod -o filenames insmod modprobe modinfo
-} # have rmmod
-
-
 # renice(8) completion
 #
 _renice()
diff --git a/contrib/module-init-tools b/contrib/module-init-tools
new file mode 100644
index 0000000..5a8994e
--- /dev/null
+++ b/contrib/module-init-tools
@@ -0,0 +1,62 @@
+# bash completion for Linux module-init-tools
+
+# Linux rmmod(8) completion. This completes on a list of all currently
+# installed kernel modules.
+#
+have rmmod &&
+_rmmod()
+{
+    local cur
+
+    COMPREPLY=()
+    cur=`_get_cword`
+
+    _installed_modules "$cur"
+    return 0
+} &&
+complete -F _rmmod rmmod
+
+# Linux insmod(8), modprobe(8) and modinfo(8) completion. This completes on a
+# list of all available modules for the version of the kernel currently
+# running.
+#
+have insmod || have modprobe || have modinfo &&
+_insmod()
+{
+    local cur prev modpath
+
+    COMPREPLY=()
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    # behave like lsmod for modprobe -r
+    if [[ ${1##*/} == modprobe && "${COMP_WORDS[1]}" == -r ]]; then
+        _installed_modules "$cur"
+        return 0
+    fi
+
+    # do filename completion if we're giving a path to a module
+    if [[ "$cur" == */* ]]; then
+        _filedir '@(?(k)o?(.gz))'
+        return 0
+    fi
+
+    if [[ $COMP_CWORD -gt 1 && "${COMP_WORDS[COMP_CWORD-1]}" != -* ]]; then
+        # do module parameter completion
+        COMPREPLY=( $( compgen -W "$( /sbin/modinfo -p ${COMP_WORDS[1]} | \
+            cut -d: -f1 )" -- "$cur" ) )
+    else
+        _modules $(uname -r)
+    fi
+
+    return 0
+} &&
+complete -F _insmod -o filenames insmod modprobe modinfo
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh

-- 
bash-completion



More information about the Bash-completion-commits mailing list