mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-07-10 16:31:27 +02:00
42 lines
1.3 KiB
Text
42 lines
1.3 KiB
Text
#compdef service
|
|
|
|
# *:: for last argument looks more like a hack but it is
|
|
# the simplest way known to me to reset $words and keep
|
|
# _sub_command happy
|
|
|
|
# we are interested in init service only
|
|
local args actions ctx="${curcontext}argument-1:"
|
|
zstyle -T ":completion:${ctx}" tag-order && \
|
|
zstyle ":completion:${ctx}" tag-order init
|
|
|
|
case $OSTYPE in
|
|
freebsd<11->.*)
|
|
args=( '-j+[perform actions in specified jail]:jail:_jails' )
|
|
;&
|
|
freebsd*|dragonfly*)
|
|
actions=(
|
|
'(*)-r[show the results of boot time rcorder]'
|
|
'(*)-R[restart all enabled local services]'
|
|
)
|
|
;&
|
|
netbsd*)
|
|
_arguments -s $args \
|
|
'(-e -R)-v[verbose]' \
|
|
'*::service argument:_init_d' \
|
|
+ '(actions)' $actions \
|
|
'(*)-e[show services that are enabled]' \
|
|
'(*)-l[list all scripts in /etc/rc.d and the local startup directory]' \
|
|
':service name:_services'
|
|
;;
|
|
*)
|
|
_arguments -s \
|
|
'(-d --debug)'{-d,--debug}'[turn debugging on]' \
|
|
'(- :)'{-h,--help}'[print help information]' \
|
|
'(- :)'{-v,--version}'[print version information]' \
|
|
'(-)'{-f,--full-restart}'[restart service]' \
|
|
'(- :)'{-R,--full-restart-all}'[restart all services]' \
|
|
'(- :)'{-s,--status-all}'[print status of all services]' \
|
|
':service name:_services' \
|
|
'*::service argument: _init_d'
|
|
;;
|
|
esac
|