diff options
Diffstat (limited to 'Completion/Unix/Command/_service')
-rw-r--r-- | Completion/Unix/Command/_service | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_service b/Completion/Unix/Command/_service new file mode 100644 index 000000000..e99ad556f --- /dev/null +++ b/Completion/Unix/Command/_service @@ -0,0 +1,31 @@ +#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 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 |