[arch-projects] [INITSCRIPTS][PATCH] Use _get_comp_words_by_ref in bash completion

Sebastien Luttringer seblu at seblu.net
Sun Jun 26 18:25:00 EDT 2011


Thanks Dave Reisner for suggestion

Signed-off-by: Sebastien Luttringer <seblu at seblu.net>
---
 bash-completion |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/bash-completion b/bash-completion
index 489b5dc..e63e880 100644
--- a/bash-completion
+++ b/bash-completion
@@ -2,18 +2,18 @@
 
 _rc.d ()
 {
-	local action="help list start stop reload restart"
-	local cur="${COMP_WORDS[COMP_CWORD]}"
-	local caction="${COMP_WORDS[1]}"
+	local action cur prev
+	action="help list start stop reload restart"
+	_get_comp_words_by_ref cur prev
 	if ((COMP_CWORD == 1)); then
 		COMPREPLY=($(compgen -W "${action}" -- "$cur"))
-	elif [[ "$caction" == help ]]; then
+	elif [[ "$prev" == help ]]; then
 		COMPREPLY=()
-	elif [[ "$caction" == list ]]; then
+	elif [[ "$prev" == list ]]; then
 		((COMP_CWORD == 2)) && COMPREPLY=($(compgen -W "started stopped" -- "$cur")) || COMPREPLY=()
-	elif [[ "$caction" == start ]]; then
+	elif [[ "$prev" == start ]]; then
 		COMPREPLY=($(comm -23 <(cd /etc/rc.d && compgen -f -X 'functions*' "$cur"|sort) <(cd /run/daemons/ && compgen -f "$cur"|sort)))
-	elif [[ "$caction" =~ stop|restart|reload ]]; then
+	elif [[ "$prev" =~ stop|restart|reload ]]; then
 		COMPREPLY=($(cd /run/daemons/ && compgen -f "$cur"|sort))
 	elif ((COMP_CWORD > 1)); then
 		COMPREPLY=($(cd /etc/rc.d && compgen -f -X 'functions*' "$cur"|sort))
-- 
Sebastien "Seblu" Luttringer



More information about the arch-projects mailing list