1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-19 21:44:11 +01:00
zsh/Completion/Unix/Command/_chkconfig

34 lines
920 B
Plaintext

#compdef chkconfig
local curcontext="$curcontext" state line ret=1
case $OSTYPE in
linux*)
_arguments -C \
'(- 2)--list[list services]' \
'(-)--level[specify runlevels to apply to]:-:_values -s "" "run levels" 1 2 3 4 5 6 7' \
'(- 2)--add[add new service]' \
'(- 2)--del[remove service from chkconfig management]' \
'1:service name:->services' \
'2:state:(on off reset)' && ret=0
if [[ -n "$state" ]]; then
_wanted services expl 'system service' \
compadd ${${${(f)"$($words[1] --list)"}%%[ :]*}##$'\t'*} && ret=0
fi
;;
irix*)
_arguments -C \
'(- 1)-s[print state of configuration flags]' \
'(1 -s)-f[set flag state]:configuration flag:->flag:state:(on off)' \
'1:configuration flag:->flag' && ret=0
if [[ -n "$state" ]]; then
_wanted conf-flags expl 'configuration flag' \
compadd ${${${(f)"$($words[1])"}[4,-1]##$'\t'}%% *} && ret=0
fi
;;
esac
return ret