summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Martin <phy1729@gmail.com>2016-01-21 13:31:34 -0600
committerDaniel Shahaf <d.s@daniel.shahaf.name>2016-01-23 23:50:10 +0000
commit3c9185272d1af21cd976a548f932d7554a3bb533 (patch)
tree4ed07f93397c1ddfb771348a70ed3d363bde265f
parent295133d741985565befd68330fd728710d9db5cc (diff)
downloadzsh-3c9185272d1af21cd976a548f932d7554a3bb533.tar.gz
zsh-3c9185272d1af21cd976a548f932d7554a3bb533.zip
37725: Completion: _init_d: add OpenBSD bits
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Unix/Command/_init_d20
2 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c6623e09..5cb338f08 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2016-01-23 Matthew Martin <phy1729@gmail.com>
+
+ * 37725: Completion/Unix/Command/_init_d: Completion: _init_d:
+ add OpenBSD bits
+
2016-01-23 Daniel Shahaf <d.s@daniel.shahaf.name>
* 37703: Completion/Unix/Command/_git: Completion: git: Also
diff --git a/Completion/Unix/Command/_init_d b/Completion/Unix/Command/_init_d
index bbf62fc0d..2bb8d538c 100644
--- a/Completion/Unix/Command/_init_d
+++ b/Completion/Unix/Command/_init_d
@@ -1,6 +1,7 @@
#compdef -p */(init|rc[0-9S]#).d/*
local cmds script
+local -a flags
_compskip=all
@@ -41,6 +42,23 @@ if [[ $OSTYPE = freebsd* ]]; then
return 0
}
+elif [[ $OSTYPE = openbsd* ]]; then
+ (( $+functions[_init_d_fullpath] )) ||
+ _init_d_fullpath() {
+ echo /etc/rc.d/$1
+ return 0
+ }
+
+ (( $+functions[_init_d_get_cmds] )) ||
+ _init_d_get_cmds() {
+ local -a cmds disabled
+
+ cmds=(start stop reload restart check)
+ disabled=(${${${(M)${(f)"$(< $script)"}:#rc_(${(~j:|:)cmds})=NO}#rc_}%=NO})
+ echo ${cmds:|disabled}
+ }
+
+ flags=('-d[print debug information]' '-f[forcibly start the daemon]')
else
(( $+functions[_init_d_fullpath] )) ||
_init_d_fullpath() {
@@ -90,4 +108,4 @@ cmds=( $(_init_d_get_cmds) ) || return
(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds ||
cmds=(start stop)
-_sub_commands $cmds
+_arguments -s -A "-*" $flags ':init.d command:_sub_commands $cmds'