diff options
author | Matthew Martin <phy1729@gmail.com> | 2016-01-21 13:31:34 -0600 |
---|---|---|
committer | Daniel Shahaf <d.s@daniel.shahaf.name> | 2016-01-23 23:50:10 +0000 |
commit | 3c9185272d1af21cd976a548f932d7554a3bb533 (patch) | |
tree | 4ed07f93397c1ddfb771348a70ed3d363bde265f | |
parent | 295133d741985565befd68330fd728710d9db5cc (diff) | |
download | zsh-3c9185272d1af21cd976a548f932d7554a3bb533.tar.gz zsh-3c9185272d1af21cd976a548f932d7554a3bb533.tar.xz zsh-3c9185272d1af21cd976a548f932d7554a3bb533.zip |
37725: Completion: _init_d: add OpenBSD bits
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_init_d | 20 |
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' |