45 lines
972 B
Plaintext
45 lines
972 B
Plaintext
|
#compdef sv
|
||
|
|
||
|
# completion for runit sv(1)
|
||
|
# Christian Neukirchen <chneukirchen@gmail.com>
|
||
|
# runit 2.1.1, services in /var/service are completed by default
|
||
|
|
||
|
local ret=1 services
|
||
|
|
||
|
_arguments \
|
||
|
'-v[verbose]' \
|
||
|
'-w[wait]:seconds' \
|
||
|
'1: :->cmds' \
|
||
|
'*:: :->args' && ret=0
|
||
|
|
||
|
case $state in
|
||
|
cmds)
|
||
|
_values "sv command" \
|
||
|
status \
|
||
|
up \
|
||
|
down \
|
||
|
once \
|
||
|
pause cont hup alarm interrupt quit 1 2 term kill \
|
||
|
exit
|
||
|
# above allow one-character shortcuts, complete these
|
||
|
[[ $words[CURRENT] = [sudopchaiq12tke] ]] ||
|
||
|
_values "sv command" \
|
||
|
start \
|
||
|
stop \
|
||
|
restart \
|
||
|
shutdown \
|
||
|
force-stop \
|
||
|
force-reload \
|
||
|
force-restart \
|
||
|
force-shutdown \
|
||
|
check
|
||
|
ret=0;;
|
||
|
args)
|
||
|
services=( /var/service/*(-/N:t) )
|
||
|
(( $#services )) && _values services $services && ret=0
|
||
|
[[ $words[CURRENT] = */* ]] && _directories && ret=0
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
return $ret
|