12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #compdef dinitctl
- local current_context="$current_context" current_command
- local -a state commands arguments global_options command_options data home
- zstyle ':completion:*:sudo:*' environ SRV_HOME="/etc/dinit.d"
- home="$SRV_HOME/"
- commands=(
- 'status:datalay service status'
- 'start:start service (if not running yet)'
- 'restart:restart service (if already running)'
- 'stop:stop service'
- 'wake'
- 'release'
- 'unpin'
- 'unload'
- 'reload:reload service descriptor'
- 'list:list all loaded services'
- 'shutdown'
- 'add-dep'
- 'rm-dep'
- 'enable:enable service'
- 'disable:disable service'
- 'setenv'
- )
- global_options=(
- '--help:show help'
- '-s:control system daemon (default if run as root)]'
- '--system:control system daemon (default if run as root)]'
- '-u:control user daemon'
- '--user:control user daemon'
- '--quiet:suppress output (except errors)'
- '--socket-path:specify socket for communication with daemon]'
- '-p:specify socket for communication with daemon]'
- )
- arguments=()
- command_options=()
- if (( CURRENT == 2 )); then
- _describe -t 'commands' 'command' commands
- fi
- current_command=${words[2]#--}
- current_context="${current_context%:*}-$current_command:"
- case $current_command in
- status|enable|disable|unload|reload|unpin)
- arguments+='1:service:->services'
- ;;
- start|restart|stop|wake|release)
- arguments+='1:service:->services'
- command_options+=(
- '--no-wait:dont wait for service startup/shutdown to complete'
- '--pin:pin the service in the requested state'
- '--force:force stop even if dependents will be affected'
- )
- ;;
- *)
- :
- ;;
- esac
- shift words
- (( CURRENT-- ))
- _arguments -C -A "-*" $arguments
- case $state in
- services)
- data=( $(find "$home" -type f -printf '%P\n') )
- _describe -t 'services' 'service' data
- ret=0
- ;;
- *)
- ret=0
- ;;
- esac
- if [[ -prefix - ]]; then
- _describe -t 'global options' 'global option' global_options
- _describe -t 'command options' 'command option' command_options
- ret=0
- fi
- return $ret
|