[arch-projects] [INITSCRIPTS][PATCH] rc.d: Update bash and zsh completion scripts

Sebastien Luttringer seblu at seblu.net
Fri Jun 17 22:35:58 EDT 2011


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

diff --git a/bash-completion b/bash-completion
index 5151972..c0448ad 100644
--- a/bash-completion
+++ b/bash-completion
@@ -7,8 +7,10 @@ _rc.d ()
 	local caction="${COMP_WORDS[1]}"
 	if ((${COMP_CWORD} == 1)); then
 		COMPREPLY=($(compgen -W "${action}" -- "$cur"))
-	elif [[ "$caction" =~ help|list ]]; then
+	elif [[ "$caction" == help ]]; then
 		COMPREPLY=()
+	elif [[ "$caction" == list ]]; then
+		((COMP_CWORD == 2)) && COMPREPLY=($(compgen -W "started stopped" -- "$cur")) || COMPREPLY=()
 	elif [[ "$caction" == 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
diff --git a/zsh-completion b/zsh-completion
index f1b7165..e5c2850 100644
--- a/zsh-completion
+++ b/zsh-completion
@@ -15,9 +15,12 @@ _rc.d () {
 			curcontext="${curcontext%:*:*}:rc.d-${action}:"
 
 			case $action in
-				list|help)
+				help)
 					_arguments "*: :"
 					;;
+				list)
+					_arguments "2: :(started stopped)"
+					;;
 				start)
 					_arguments "*: :($(comm -23 <(echo /etc/rc.d/*(N-*:t)|tr ' ' '\n') <(echo /run/daemons/*(N:t)|tr ' ' '\n')))"
 					;;
-- 
Sebastien "Seblu" Luttringer



More information about the arch-projects mailing list