zsh/Completion/BSD/Command/_rcctl
Stephane Chazelas 2778fc5d7a 51817: protect ':' in _rcctl
This was in 51817 but missed in commit 0577daf.
Also remove _ant.rej that was added by the commit.
2023-06-08 15:26:41 +09:00

52 lines
1.3 KiB
Plaintext

#compdef rcctl
local context state line
local -a actions lsarg subcmds variables
actions=(configtest check reload restart start stop)
subcmds=(disable enable get getdef ls order set)
variables=(class flags status timeout user)
lsarg=(
'all:all services and daemons'
'failed:enabled but stopped daemons'
'off:disabled services and daemons'
'on:enabled services and daemons'
'rogue:daemons which are disabled but currently running'
'started:running daemons'
'stopped:stopped daemons'
)
if [[ $service == "rcctl" ]]; then
_arguments -C \
'-d[print debug information]' \
'-f[forcibly start the daemon]' \
':subcommand:('"$actions ${${${+words[(r)-[df]]}#1}/0/$subcmds}"\) \
'*:: :->subcmd' && return
service="$words[1]"
fi
case $service in
get|getdef)
_arguments \
':service:_services' \
':variable:compadd -a variables'
;;
ls)
_arguments ':display a list of services and daemons matching:(($lsarg))'
;;
order)
_arguments \
':service to start first:_services' \
'*:service to start next:_services'
;;
set)
_arguments \
':service:_services' \
':variable:compadd -a variables' \
'*:argument:'
;;
${(~j:|:)actions}|disable|enable)
_arguments "*:service to ${words[2]}:_services"
;;
esac