summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_service
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_service')
-rw-r--r--Completion/Unix/Command/_service49
1 files changed, 28 insertions, 21 deletions
diff --git a/Completion/Unix/Command/_service b/Completion/Unix/Command/_service
index e99ad556f..50e8607bf 100644
--- a/Completion/Unix/Command/_service
+++ b/Completion/Unix/Command/_service
@@ -5,27 +5,34 @@
# _sub_command happy
# we are interested in init service only
-local ctx="${curcontext}argument-1:"
+local args ctx="${curcontext}argument-1:"
zstyle -T ":completion:${ctx}" tag-order && \
zstyle ":completion:${ctx}" tag-order init
-
-if [[ $OSTYPE = freebsd* ]]; then
- _arguments -s \
- '(-)-e[show services that are enabled]' \
- '(-)-l[list all scripts in /etc/rc.d and the local startup directory]' \
- '(-)-r[show the results of boot time rcorder]' \
- '(-)-v[verbose]' \
- ':service name:_services' \
- '*::service argument:_init_d'
-else
- _arguments -s \
- '(-d --debug)'{-d,--debug}'[turn debugging on]' \
- '(- :)'{-h,--help}'[print usage]' \
- '(- :)'{-v,--version}'[print version]' \
- '(-)'{-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'
-fi
+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