about summary refs log tree commit diff
path: root/Completion/BSD/Command/_rcctl
diff options
context:
space:
mode:
authorMatthew Martin <phy1729@gmail.com>2016-01-10 01:51:41 -0600
committerEric Cook <illua@users.sourceforge.net>2016-01-10 14:10:06 -0500
commit82210cb954cc70708a0e22e6bc8c8ae8c22be749 (patch)
tree4a292131ae93647ca71eeb05fa86caed966258ab /Completion/BSD/Command/_rcctl
parent5eae5b58b1b99946e14ac8ddc54dc14189a56a6c (diff)
downloadzsh-82210cb954cc70708a0e22e6bc8c8ae8c22be749.tar.gz
zsh-82210cb954cc70708a0e22e6bc8c8ae8c22be749.tar.xz
zsh-82210cb954cc70708a0e22e6bc8c8ae8c22be749.zip
37534: completion for OpenBSD's cu, fw_update and rcctl utils
Diffstat (limited to 'Completion/BSD/Command/_rcctl')
-rw-r--r--Completion/BSD/Command/_rcctl42
1 files changed, 42 insertions, 0 deletions
diff --git a/Completion/BSD/Command/_rcctl b/Completion/BSD/Command/_rcctl
new file mode 100644
index 000000000..0a030f486
--- /dev/null
+++ b/Completion/BSD/Command/_rcctl
@@ -0,0 +1,42 @@
+#compdef rcctl
+
+local context state line
+local -a actions subcmds variables
+
+actions=(check reload restart start stop)
+subcmds=(disable enable get getdef ls order set)
+variables=(class flags status timeout user)
+
+if [[ $service == "rcctl" ]]; then
+  _arguments -C \
+    '-d[print debug information]' \
+    '-f[forcibly start the daemon]' \
+    ':subcommand:('"$actions ${${${+words[(r)-[df]]}#1}/0/$subcmds}"\) \
+    '*:: :->subcmd' && return
+  service="$words[1]"
+fi
+
+case $service in
+  get|getdef)
+    _arguments \
+      ':service:_services' \
+      ':variable:compadd -a variables'
+    ;;
+  ls)
+     _arguments ':display a list of services and daemons matching:(all faulty off on started stopped)'
+    ;;
+  order)
+    _arguments \
+      ':service to start first:_services'
+      '*:service to start next:_services'
+    ;;
+  set)
+    _arguments \
+      ':service:_services' \
+      ':variable:compadd -a variables' \
+      '*:argument:'
+    ;;
+  ${(~j:|:)actions}|disable|enable)
+    _arguments "*:service to $words[2]:_services"
+    ;;
+esac