Add support for user services in _sv
This commit is contained in:
parent
d74011b8dc
commit
fc26efcafd
48
compdef/_sv
Normal file
48
compdef/_sv
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
#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)
|
||||||
|
if [[ $UID == 0 || $BUFFER == sudo* ]] then
|
||||||
|
services=( /var/service/*(-/N:t) )
|
||||||
|
else
|
||||||
|
services=( ~/.service/*(-/N) )
|
||||||
|
fi
|
||||||
|
(( $#services )) && _values services $services && ret=0
|
||||||
|
[[ $words[CURRENT] = */* ]] && _directories && ret=0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
return $ret
|
Loading…
Reference in a new issue