mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-01 21:51:40 +02:00
38 lines
1.2 KiB
Text
38 lines
1.2 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 ctx="${curcontext}argument-1:"
|
|
zstyle -T ":completion:${ctx}" tag-order && \
|
|
zstyle ":completion:${ctx}" tag-order init
|
|
|
|
case $OSTYPE in
|
|
freebsd*|dragonfly*)
|
|
args=(
|
|
'(-)-r[show the results of boot time rcorder]'
|
|
'(-)-R[restart all enabled local services]'
|
|
)
|
|
;&
|
|
netbsd*)
|
|
_arguments -s $args \
|
|
'(-)-e[show services that are enabled]' \
|
|
'(-)-l[list all scripts in /etc/rc.d and the local startup directory]' \
|
|
'(-e -R)-v[verbose]' \
|
|
':service name:_services' \
|
|
'*::service argument:_init_d'
|
|
;;
|
|
*)
|
|
_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
|