4 local context state line
8 {--configuration,-c}"[configuration file path (default /etc/supervisor.conf)]:FILENAME:_files" \
9 {--help,-h}"[print usage message and exit]:" \
10 {--interactive,-i}"[start an interactive shell after executing commands]" \
11 {--serverurl,-s}"[URL on which supervisord server is listening (default "http://localhost:9001").]" \
12 {--username,-u}"[username to use for authentication with server]:USERNAME:_users" \
13 {--password,-p}"[password to use for authentication with server]:PASSWORD:" \
14 {--history-file,-r}"[keep a readline history (if readline is available)]:FILENAME:_files" \
15 "*::supervisorctl commands:_supervisorctl_command"
18 (( $+functions[_supervisorctl_command] )) ||
19 _supervisorctl_command() {
22 (( $+supervisorctl_cmds )) || _supervisorctl_cmds=(
23 "add:Activates any updates in config for process/group" \
24 "avail:Display all configured processes" \
25 "clear:Clear process/multiple-process/all-process log files" \
26 "exit:Exit the supervisor shell." \
27 "fg:Connect to a process in foreground mode" \
28 "maintail:tail of supervisor main log file" \
29 "open:Connect to a remote supervisord process. (for UNIX domain socket, use unix:///socket/path)" \
30 "pid:Get the PID of supervisord." \
31 "quit:Exit the supervisor shell." \
32 "reload:Restart the remote supervisord." \
33 "remove:Removes process/group from active config" \
34 "reread:Reload the daemon's configuration files" \
35 "restart:Restart process or group." \
36 "shutdown:Shut the remote supervisord down." \
37 "start:Start process or groups." \
38 "status:Get process status info." \
39 "stop:Stop process or group." \
40 "tail:tail of process stdout" \
41 "update:Reload config and add/remove as necessary" \
42 "version:Show the version of the remote supervisord process" \
46 if (( CURRENT == 1 )); then
47 _describe -t commands 'supervisorctl subcommand' _supervisorctl_cmds \
48 || compadd "$@" - ${(s.:.)${(j.:.)_supervisorctl_syns}}
50 local curcontext="$curcontext"
52 cmd="${${_supervisorctl_cmds[(r)$words[1]:*]%%:*}:-${(k)_supervisorctl_syns[(r)(*:|)$words[1](:*|)]}}"
54 curcontext="${curcontext%:*:*}:supervisorctl-${cmd}:"
55 _call_function ret _supervisorctl_$cmd || _message 'no more arguments'
57 _message "unknown supervisorctl command: $words[1]"
63 # get supervisor contoroll processes
64 (( $+functions[_get_supervisor_procs] )) ||
65 _get_supervisor_procs() {
67 zstyle -s ":completion:${curcontext}:" cache-policy cache_policy
68 if [[ -z "$cache_policy" ]]; then
69 zstyle ":completion:${curcontext}:" cache-policy _supervisor_procs_caching_policy
72 if ( [[ ${+_supervisor_procs} -eq 0 ]] || _cache_invalid supervisor_procs ) \
73 && ! _retrieve_cache supervisor_procs; then
75 _supervisor_procs=(${${(f)"$(supervisorctl status >/dev/null 2>&1 | awk -F' ' '{print $1}')"}})
76 _store_cache supervisor_procs _supervisor_procs
80 _wanted supervisor_procs expl 'supervisor processes' compadd -a _supervisor_procs
83 _supervisor_procs_caching_policy() {
89 (( $+functions[_supervisorctl_add] )) ||
90 _supervisorctl_add() {
92 "--help[use help system]" \
93 "*::supervisorctl commands:_supervisorctl"
96 (( $+functions[_supervisorctl_help] )) ||
97 _supervisorctl_help() {
99 "*:supervisorctl commands:_supervisorctl"
102 (( $+functions[_supervisorctl_maintail] )) ||
103 _supervisorctl_maintail() {
105 '-f[Continuous tail of supervisor main log file (Ctrl-C to exit)]'
108 (( $+functions[_supervisorctl_start] )) ||
109 _supervisorctl_start() {
112 '*::supvervisor process:_get_supervisor_procs'
115 (( $+functions[_supervisorctl_status] )) ||
116 _supervisorctl_status() {
118 '*::supvervisor process:_get_supervisor_procs'
121 (( $+functions[_supervisorctl_stop] )) ||
122 _supervisorctl_stop() {
125 '*::supvervisor process:_get_supervisor_procs'
128 (( $+functions[_supervisorctl_tail] )) ||
129 _supervisorctl_tail() {
132 '-f[Continuous tail of named process stdout Ctrl-C to exit.]' \
133 '*::supvervisor process:_get_supervisor_procs'