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

David Paleino d.paleino at gmail.com
Fri Jun 5 06:29:24 UTC 2009


The following commit has been merged in the master branch:
commit 4bf60b4e9af5e8987a24d47c64b1c700e2acb306
Author: David Paleino <d.paleino at gmail.com>
Date:   Fri Jun 5 08:29:09 2009 +0200

    Split {update,invoke}-rc.d completions to contrib/sysv-rc

diff --git a/CHANGES b/CHANGES
index bfc6e96..e302a8b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -16,6 +16,7 @@ bash-completion (1.x)
   * Split mutt completion to contrib/mutt
   * Split iconv completion to contrib/iconv
   * Split dict completion to contrib/dict
+  * Split {update,invoke}-rc.d completions to contrib/sysv-rc
 
   [ Ville Skyttä ]
   * Split yum and yum-arch completion into contrib/yum.
diff --git a/Makefile.am b/Makefile.am
index 426ff8f..52cc8bf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -102,6 +102,7 @@ bashcomp_DATA = contrib/ant \
 		contrib/_subversion \
 		contrib/svk \
 		contrib/sysctl \
+		contrib/sysv-rc \
 		contrib/tar \
 		contrib/tcpdump \
 		contrib/unace \
diff --git a/bash_completion b/bash_completion
index 0a27ee7..dbeed2a 100644
--- a/bash_completion
+++ b/bash_completion
@@ -3237,113 +3237,6 @@ _id()
 } &&
 complete -F _id id
 
-# update-rc.d(8) completion
-#
-# Copyright (C) 2004 Servilio Afre Puentes <servilio at gmail.com>
-#
-have update-rc.d &&
-_update_rc_d()
-{
-    local cur prev sysvdir services options valid_options
-
-    cur=`_get_cword`
-    prev=${COMP_WORDS[COMP_CWORD-1]}
-
-    [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
-	|| sysvdir=/etc/init.d
-
-    services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
-    services=( ${services[@]#$sysvdir/} )
-    options=( -f -n )
-
-    if [[ $COMP_CWORD -eq 1 || "$prev" == -* ]]; then
-	valid_options=( $( \
-	    echo "${COMP_WORDS[@]} ${options[@]}" \
-	    | tr " " "\n" \
-	    | sed -ne "/$( echo "${options[@]}" | sed "s/ /\\|/g" )/p" \
-	    | sort | uniq -u \
-	    ) )
-	COMPREPLY=( $( compgen -W '${options[@]} ${services[@]}' \
-	    -X '$( echo ${COMP_WORDS[@]} | tr " " "|" )' -- $cur ) )
-    elif [[ "$prev" == ?($( echo ${services[@]} | tr " " "|" )) ]]; then
-	COMPREPLY=( $( compgen -W 'remove defaults start stop' -- $cur ) )
-    elif [[ "$prev" == defaults && "$cur" == [0-9] ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
-    elif [[ "$prev" == defaults && "$cur" == [sk]?([0-9]) ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
-    elif [[ "$prev" == defaults && -z "$cur" ]]; then
-	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 s k )
-    elif [[ "$prev" == ?(start|stop) ]]; then
-	if [[ "$cur" == [0-9] || -z "$cur" ]]; then
-	    COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
-	elif [[ "$cur" == [0-9][0-9] ]]; then
-	    COMPREPLY=( $cur )
-	else
-	    COMPREPLY=()
-	fi
-    elif [[ "$prev" == ?([0-9][0-9]|[0-6S]) ]]; then
-	if [[ -z "$cur" ]]; then
-	    if [[ $prev == [0-9][0-9] ]]; then
-		COMPREPLY=( 0 1 2 3 4 5 6 S )
-	    else
-		COMPREPLY=( 0 1 2 3 4 5 6 S . )
-	    fi
-	elif [[ "$cur" == [0-6S.] ]]; then
-	    COMPREPLY=( $cur )
-	else
-	    COMPREPLY=()
-	fi
-    elif [[ "$prev" == "." ]]; then
-	COMPREPLY=( $(compgen -W "start stop" -- $cur) )
-    else
-	COMPREPLY=()
-    fi
-
-    return 0
-} &&
-complete -F _update_rc_d update-rc.d
-
-# invoke-rc.d(8) completion
-#
-# Copyright (C) 2004 Servilio Afre Puentes <servilio at gmail.com>
-#
-have invoke-rc.d &&
-_invoke_rc_d()
-{
-    local cur prev sysvdir services options valid_options
-
-    cur=`_get_cword`
-    prev=${COMP_WORDS[COMP_CWORD-1]}
-
-    [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
-	|| sysvdir=/etc/init.d
-
-    services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
-    services=( ${services[@]#$sysvdir/} )
-    options=( --help --quiet --force --try-anyway --disclose-deny --query --no-fallback )
-
-    if [[ ($COMP_CWORD -eq 1) || ("$prev" == --* ) ]]; then
-	valid_options=( $( \
-	    echo ${COMP_WORDS[@]} ${options[@]} \
-	    | tr " " "\n" \
-	    | sed -ne "/$( echo ${options[@]} | sed "s/ /\\\\|/g" )/p" \
-	    | sort | uniq -u \
-	    ) )
-	COMPREPLY=( $( compgen -W '${valid_options[@]} ${services[@]}' -- \
-	    $cur ) )
-    elif [ -x $sysvdir/$prev ]; then
-	COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
-					    s/^.*Usage:[ ]*[^ ]*[ ]*{*\([^}\"]*\).*$/\1/p" \
-					    $sysvdir/$prev`' -- \
-	    $cur ) )
-    else
-	COMPREPLY=()
-    fi
-
-    return 0
-} &&
-complete -F _invoke_rc_d invoke-rc.d
-
 _filedir_xspec()
 {
 	local IFS cur xspec
diff --git a/contrib/sysv-rc b/contrib/sysv-rc
new file mode 100644
index 0000000..c750339
--- /dev/null
+++ b/contrib/sysv-rc
@@ -0,0 +1,106 @@
+# update-rc.d(8) completion
+#
+# Copyright (C) 2004 Servilio Afre Puentes <servilio at gmail.com>
+#
+have update-rc.d &&
+_update_rc_d()
+{
+    local cur prev sysvdir services options valid_options
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
+	|| sysvdir=/etc/init.d
+
+    services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
+    services=( ${services[@]#$sysvdir/} )
+    options=( -f -n )
+
+    if [[ $COMP_CWORD -eq 1 || "$prev" == -* ]]; then
+	valid_options=( $( \
+	    echo "${COMP_WORDS[@]} ${options[@]}" \
+	    | tr " " "\n" \
+	    | sed -ne "/$( echo "${options[@]}" | sed "s/ /\\|/g" )/p" \
+	    | sort | uniq -u \
+	    ) )
+	COMPREPLY=( $( compgen -W '${options[@]} ${services[@]}' \
+	    -X '$( echo ${COMP_WORDS[@]} | tr " " "|" )' -- $cur ) )
+    elif [[ "$prev" == ?($( echo ${services[@]} | tr " " "|" )) ]]; then
+	COMPREPLY=( $( compgen -W 'remove defaults start stop' -- $cur ) )
+    elif [[ "$prev" == defaults && "$cur" == [0-9] ]]; then
+	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+    elif [[ "$prev" == defaults && "$cur" == [sk]?([0-9]) ]]; then
+	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+    elif [[ "$prev" == defaults && -z "$cur" ]]; then
+	COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 s k )
+    elif [[ "$prev" == ?(start|stop) ]]; then
+	if [[ "$cur" == [0-9] || -z "$cur" ]]; then
+	    COMPREPLY=( 0 1 2 3 4 5 6 7 8 9 )
+	elif [[ "$cur" == [0-9][0-9] ]]; then
+	    COMPREPLY=( $cur )
+	else
+	    COMPREPLY=()
+	fi
+    elif [[ "$prev" == ?([0-9][0-9]|[0-6S]) ]]; then
+	if [[ -z "$cur" ]]; then
+	    if [[ $prev == [0-9][0-9] ]]; then
+		COMPREPLY=( 0 1 2 3 4 5 6 S )
+	    else
+		COMPREPLY=( 0 1 2 3 4 5 6 S . )
+	    fi
+	elif [[ "$cur" == [0-6S.] ]]; then
+	    COMPREPLY=( $cur )
+	else
+	    COMPREPLY=()
+	fi
+    elif [[ "$prev" == "." ]]; then
+	COMPREPLY=( $(compgen -W "start stop" -- $cur) )
+    else
+	COMPREPLY=()
+    fi
+
+    return 0
+} &&
+complete -F _update_rc_d update-rc.d
+
+# invoke-rc.d(8) completion
+#
+# Copyright (C) 2004 Servilio Afre Puentes <servilio at gmail.com>
+#
+have invoke-rc.d &&
+_invoke_rc_d()
+{
+    local cur prev sysvdir services options valid_options
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    [ -d /etc/rc.d/init.d ] && sysvdir=/etc/rc.d/init.d \
+	|| sysvdir=/etc/init.d
+
+    services=( $(echo $sysvdir/!(README*|*.sh|*.dpkg*|*.rpm@(orig|new|save))) )
+    services=( ${services[@]#$sysvdir/} )
+    options=( --help --quiet --force --try-anyway --disclose-deny --query --no-fallback )
+
+    if [[ ($COMP_CWORD -eq 1) || ("$prev" == --* ) ]]; then
+	valid_options=( $( \
+	    echo ${COMP_WORDS[@]} ${options[@]} \
+	    | tr " " "\n" \
+	    | sed -ne "/$( echo ${options[@]} | sed "s/ /\\\\|/g" )/p" \
+	    | sort | uniq -u \
+	    ) )
+	COMPREPLY=( $( compgen -W '${valid_options[@]} ${services[@]}' -- \
+	    $cur ) )
+    elif [ -x $sysvdir/$prev ]; then
+	COMPREPLY=( $( compgen -W '`sed -ne "y/|/ /; \
+					    s/^.*Usage:[ ]*[^ ]*[ ]*{*\([^}\"]*\).*$/\1/p" \
+					    $sysvdir/$prev`' -- \
+	    $cur ) )
+    else
+	COMPREPLY=()
+    fi
+
+    return 0
+} &&
+complete -F _invoke_rc_d invoke-rc.d

-- 
bash-completion



More information about the Bash-completion-commits mailing list