about summary refs log tree commit diff
path: root/Completion/Unix/Command/_service
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2016-07-08 23:09:18 +0200
committerOliver Kiddle <opk@zsh.org>2016-07-08 23:10:41 +0200
commit304aa25184f927ccc034bb98f6ac744d29006bb4 (patch)
treedf1810ccaf5e223913493bce2e2e3528a3667820 /Completion/Unix/Command/_service
parent13f4bb29363e2a4c6a6e2971a929bd677043d866 (diff)
downloadzsh-304aa25184f927ccc034bb98f6ac744d29006bb4.tar.gz
zsh-304aa25184f927ccc034bb98f6ac744d29006bb4.tar.xz
zsh-304aa25184f927ccc034bb98f6ac744d29006bb4.zip
38812: a few new completions and update some command options
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