1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2026-01-02 08:21:09 +01:00

37725: Completion: _init_d: add OpenBSD bits

This commit is contained in:
Matthew Martin 2016-01-21 13:31:34 -06:00 committed by Daniel Shahaf
parent 295133d741
commit 3c9185272d
2 changed files with 24 additions and 1 deletions

View file

@ -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

View file

@ -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'