#compdef hq

autoload -U is-at-least

_hq() {
    typeset -A opt_args
    typeset -a _arguments_options
    local ret=1

    if is-at-least 5.2; then
        _arguments_options=(-s -S -C)
    else
        _arguments_options=(-s -C)
    fi

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_hq_commands" \
"*::: :->hyperqueue" \
&& ret=0
    case $state in
    (hyperqueue)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-command-$line[1]:"
        case $line[1] in
            (server)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__server_commands" \
"*::: :->server" \
&& ret=0

    case $state in
    (server)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-server-command-$line[1]:"
        case $line[1] in
            (start)
_arguments "${_arguments_options[@]}" : \
'--host=[Hostname/IP of the machine under which is visible to others]:HOST:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--client-port=[The port for client connections]:CLIENT_PORT:_default' \
'--worker-port=[The port for worker connections]:WORKER_PORT:_default' \
'--journal=[The path to a journal file]:JOURNAL:_files' \
'--journal-flush-period=[Configure how often should be the journal written.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:JOURNAL_FLUSH_PERIOD:_default' \
'--access-file=[The path to an access file]:ACCESS_FILE:_files' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--disable-client-authentication-and-encryption[If set, the client connection will NOT be AUTHENTICATED and ENCRYPTED]' \
'--disable-worker-authentication-and-encryption[If set, the worker connection will NOT be AUTHENTICATED and ENCRYPTED]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(generate-access)
_arguments "${_arguments_options[@]}" : \
'--client-file=[The filename of the generated client'\''s access file]:CLIENT_FILE:_files' \
'--worker-file=[The filename of the generated worker'\''s access file]:WORKER_FILE:_files' \
'--host=[Override the target host name]:HOST:_default' \
'--client-host=[Override target host name for clients]:CLIENT_HOST:_default' \
'--worker-host=[Override target host name for workers]:WORKER_HOST:_default' \
'--client-port=[The port for connecting client]:CLIENT_PORT:_default' \
'--worker-port=[The port for connecting workers]:WORKER_PORT:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':access_file -- The filename of the generated full access file:_files' \
&& ret=0
;;
        esac
    ;;
esac
;;
(job)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__job_commands" \
"*::: :->job" \
&& ret=0

    case $state in
    (job)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-job-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'*--filter=[Display only jobs with the given states]:FILTER:(waiting running finished failed canceled opened)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'(--filter)--all[Display all jobs]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(summary)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Single ID, ID range or `last` to display the most recently submitted job:_default' \
&& ret=0
;;
(cancel)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Select job(s) to cancel:_default' \
&& ret=0
;;
(forget)
_arguments "${_arguments_options[@]}" : \
'*--filter=[Forget only jobs with the given states]:FILTER:(finished failed canceled)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Select job(s) to forget:_default' \
&& ret=0
;;
(cat)
_arguments "${_arguments_options[@]}" : \
'--tasks=[Filter task(s) by ID]:TASKS:_default' \
'*--task-status=[Filter task(s) by status. You can use multiple states separated by a comma]:TASK_STATUS:(waiting running finished failed canceled opened)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--print-task-header[Add task headers to the output]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job_selector -- Select a job:_default' \
':stream -- Type of output stream to display:((stdout\:"Displays stdout output stream for given job and task(s)"
stderr\:"Displays stderr output stream for given job and task(s)"))' \
&& ret=0
;;
(submit)
_arguments "${_arguments_options[@]}" : \
'--name=[The name of the job]:NAME:_default' \
'--max-fails=[Maximum number tasks that may fail in the job]:MAX_FAILS:_default' \
'(--pin --cpus)--nodes=[The number of nodes]:NODES:_default' \
'--cpus=[The number and placement of CPUs for each job]:CPUS:_default' \
'*--resource=[The request of resources in the form <NAME>=<AMOUNT>]:RESOURCE:_default' \
'--time-request=[Minimal lifetime of the worker needed to start the job  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_REQUEST:_default' \
'--pin=[Pins the job to the cores specified in \`--cpus\`]:PIN:(taskset omp)' \
'--cwd=[Working directory for submitted tasks]:CWD:_files' \
'--stdout=[Where to store the standard output of tasks]:STDOUT:_default' \
'--stderr=[Where to store the standard error output of tasks]:STDERR:_default' \
'*--env=[Additional environment variable for tasks]:ENV:_default' \
'--each-line=[Creates a task for each line of the given file]:EACH_LINE:_files' \
'(--each-line)--from-json=[Creates a task for each item of JSON array in the given file]:FROM_JSON:_files' \
'--array=[Creates a task array]:ARRAY:_default' \
'--priority=[Tasks priority]:PRIORITY:_default' \
'--time-limit=[Time limit per task. E.g. --time-limit=10min  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--stream=[Stream the output of tasks into the given log file]:STREAM:_files' \
'--crash-limit=[Sets the crash counter limit]:CRASH_LIMIT:(never-restart unlimited <number>)' \
'--job=[Attach a submission to an open job]:JOB:_default' \
'--directives=[Select directives parsing mode]:DIRECTIVES:(auto file stdin off)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--task-dir[Create a temporary directory for task(s)]' \
'(--progress)--wait[Wait for the job to finish]' \
'(--wait)--progress[Shows a progressbar]' \
'--stdin[Attach the stdin to the task]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::commands -- Command that should be executed by each task:_default' \
&& ret=0
;;
(submit-file)
_arguments "${_arguments_options[@]}" : \
'--job=[Attach a submission to an open job]:JOB:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path -- Path to file with job definition:_files' \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--without-close[Waits until all tasks are completed, even if the job is still open]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Job(s) to wait for:_default' \
&& ret=0
;;
(progress)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Job(s) to observe:_default' \
&& ret=0
;;
(task-ids)
_arguments "${_arguments_options[@]}" : \
'*--filter=[Selects only tasks with the given state(s)]:FILTER:(waiting running finished failed canceled opened)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Selects job(s):_default' \
&& ret=0
;;
(open)
_arguments "${_arguments_options[@]}" : \
'--name=[The name of the job]:NAME:_default' \
'--max-fails=[Maximum number tasks that may fail in the job]:MAX_FAILS:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(close)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector -- Select job(s) to close:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(task)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__task_commands" \
"*::: :->task" \
&& ret=0

    case $state in
    (task)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-task-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--tasks=[Filter task(s) by ID]:TASKS:_default' \
'*--task-status=[Filter task(s) by status. You can use multiple states separated by a comma]:TASK_STATUS:(waiting running finished failed canceled opened)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'*-v[Use this flag to enable verbose output]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job_selector -- Select specific job(s):_default' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'*-v[Use this flag to enable verbose output]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job_selector -- Select specific job:_default' \
':task_selector -- Select specific task(s):_default' \
&& ret=0
;;
(explain)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job_selector -- Select specific job:_default' \
':task_id -- Select specific task(s):_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(submit)
_arguments "${_arguments_options[@]}" : \
'--name=[The name of the job]:NAME:_default' \
'--max-fails=[Maximum number tasks that may fail in the job]:MAX_FAILS:_default' \
'(--pin --cpus)--nodes=[The number of nodes]:NODES:_default' \
'--cpus=[The number and placement of CPUs for each job]:CPUS:_default' \
'*--resource=[The request of resources in the form <NAME>=<AMOUNT>]:RESOURCE:_default' \
'--time-request=[Minimal lifetime of the worker needed to start the job  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_REQUEST:_default' \
'--pin=[Pins the job to the cores specified in \`--cpus\`]:PIN:(taskset omp)' \
'--cwd=[Working directory for submitted tasks]:CWD:_files' \
'--stdout=[Where to store the standard output of tasks]:STDOUT:_default' \
'--stderr=[Where to store the standard error output of tasks]:STDERR:_default' \
'*--env=[Additional environment variable for tasks]:ENV:_default' \
'--each-line=[Creates a task for each line of the given file]:EACH_LINE:_files' \
'(--each-line)--from-json=[Creates a task for each item of JSON array in the given file]:FROM_JSON:_files' \
'--array=[Creates a task array]:ARRAY:_default' \
'--priority=[Tasks priority]:PRIORITY:_default' \
'--time-limit=[Time limit per task. E.g. --time-limit=10min  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--stream=[Stream the output of tasks into the given log file]:STREAM:_files' \
'--crash-limit=[Sets the crash counter limit]:CRASH_LIMIT:(never-restart unlimited <number>)' \
'--job=[Attach a submission to an open job]:JOB:_default' \
'--directives=[Select directives parsing mode]:DIRECTIVES:(auto file stdin off)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--task-dir[Create a temporary directory for task(s)]' \
'(--progress)--wait[Wait for the job to finish]' \
'(--wait)--progress[Shows a progressbar]' \
'--stdin[Attach the stdin to the task]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::commands -- Command that should be executed by each task:_default' \
&& ret=0
;;
(worker)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__worker_commands" \
"*::: :->worker" \
&& ret=0

    case $state in
    (worker)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-worker-command-$line[1]:"
        case $line[1] in
            (start)
_arguments "${_arguments_options[@]}" : \
'--cpus=[The cores assigned to the worker]:CPUS:_default' \
'*--resource=[Resources provided by the worker]:RESOURCE:_default' \
'--group=[Sets worker'\''s group]:GROUP:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--overview-interval=[The period of reporting the overview to the server]:OVERVIEW_INTERVAL:_default' \
'--heartbeat=[How often heartbeats are sent  Heartbeats are used to detect worker'\''s liveness. If the worker does not send a heartbeat for given time, then the worker is considered as lost.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:HEARTBEAT:_default' \
'--time-limit=[Worker time limit  Worker exits after given time.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--manager=[Sets HPC job manager for the worker]:MANAGER:(detect none pbs slurm)' \
'--hostname=[Overwrites worker hostname]:HOSTNAME:_default' \
'--on-server-lost=[The policy when a connection to a server is lost]:ON_SERVER_LOST:(stop finish-running)' \
'--work-dir=[Sets the working directory for the worker]:WORK_DIR:_files' \
'--max-parallel-downloads=[The maximal parallel downloads for data objects]:MAX_PARALLEL_DOWNLOADS:_default' \
'--max-download-tries=[The maximal data object download tries]:MAX_DOWNLOAD_TRIES:_default' \
'--wait-between-download-tries=[The delay between download attempts  Sets how long to wait between failed downloads of data object. This time is multiplied by the number of previous retries. Therefore between 4th and 5th retry it waits 4 * the given duration  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-detect-resources[Disables auto-detection of resources]' \
'--no-hyper-threading[Ignores hyper-threading while detecting CPU cores]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(stop)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':selector_arg -- Selects worker(s) to stop:_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--filter=[Select only workers in the given state]:FILTER:(running offline)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'(--filter)--all[Display all workers]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(hwdetect)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-hyper-threading[Detect only physical cores]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':worker_id -- Worker ID:_default' \
&& ret=0
;;
(address)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':worker_id -- Worker ID:_default' \
&& ret=0
;;
(wait)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':worker_count -- The number of worker(s) to wait on:_default' \
&& ret=0
;;
(deploy-ssh)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--show-output[Show log output of the spawned worker(s)]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':hostfile -- Path to a file with target hostnames:_files' \
'*::worker_start_args -- Arguments passed to `worker start` at the remote node:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(output-log)
_arguments "${_arguments_options[@]}" : \
'--server-uid=[Filter files for the given server instance]:SERVER_UID:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':path -- Path of the log file:_files' \
":: :_hq__output-log_commands" \
"*::: :->output-log" \
&& ret=0

    case $state in
    (output-log)
        words=($line[2] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-output-log-command-$line[2]:"
        case $line[2] in
            (summary)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(jobs)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(show)
_arguments "${_arguments_options[@]}" : \
'--job=[JobId]:JOB:_default' \
'--channel=[Show only the specific channel]:CHANNEL:(stdout stderr)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(cat)
_arguments "${_arguments_options[@]}" : \
'--task=[Prints only outputs of the selected tasks]:TASK:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--allow-unfinished[Allow unfinished channels]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job -- JobId:_default' \
':channel -- Channel name\: "stdout" or "stderr":(stdout stderr)' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'--task=[Exports only output of the selected tasks]:TASK:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':job -- Job to export:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(alloc)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__alloc_commands" \
"*::: :->alloc" \
&& ret=0

    case $state in
    (alloc)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-alloc-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" : \
'--filter=[Display only allocations with the given state]:FILTER:(queued running finished failed)' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':queue -- ID of the allocation queue:_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__alloc__add_commands" \
"*::: :->add" \
&& ret=0

    case $state in
    (add)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-alloc-add-command-$line[1]:"
        case $line[1] in
            (pbs)
_arguments "${_arguments_options[@]}" : \
'-b+[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'--backlog=[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'-t+[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--time-limit=[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'-m+[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-workers-per-alloc=[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-worker-count=[The maximum number of workers that can be queued/running at any given time in this queue]:MAX_WORKER_COUNT:_default' \
'-n+[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--name=[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--cpus=[The cores assigned to the worker]:CPUS:_default' \
'*--resource=[Resources provided by the worker]:RESOURCE:_default' \
'--group=[Sets worker'\''s group]:GROUP:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--overview-interval=[The period of reporting the overview to the server]:OVERVIEW_INTERVAL:_default' \
'--on-server-lost=[The policy when a connection to a server is lost]:ON_SERVER_LOST:(stop finish-running)' \
'--worker-start-cmd=[A command executed before the start of each worker]:WORKER_START_CMD:_default' \
'--worker-stop-cmd=[A command executed after the worker terminates]:WORKER_STOP_CMD:_default' \
'--worker-time-limit=[ Worker'\''s time limit  Time limit after which workers in the submitted allocations will be stopped. By default, it is set to the time limit of the allocation. However, if you want the workers to be stopped sooner, for example to give \`worker_stop_cmd\` more time to execute before the allocation is killed, you can lower the worker time limit.  The limit must not be larger than the allocation time limit.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:WORKER_TIME_LIMIT:_default' \
'--min-utilization=[Minimal expected utilization required to submit an allocation into this queue]:MIN_UTILIZATION:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-detect-resources[Disables auto-detection of resources]' \
'--no-hyper-threading[Ignores hyper-threading while detecting CPU cores]' \
'--no-dry-run[Disables verifying the parameter correctness via dry-run]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::additional_args -- Additional arguments passed to the submit command:_default' \
&& ret=0
;;
(slurm)
_arguments "${_arguments_options[@]}" : \
'-b+[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'--backlog=[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'-t+[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--time-limit=[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'-m+[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-workers-per-alloc=[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-worker-count=[The maximum number of workers that can be queued/running at any given time in this queue]:MAX_WORKER_COUNT:_default' \
'-n+[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--name=[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--cpus=[The cores assigned to the worker]:CPUS:_default' \
'*--resource=[Resources provided by the worker]:RESOURCE:_default' \
'--group=[Sets worker'\''s group]:GROUP:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--overview-interval=[The period of reporting the overview to the server]:OVERVIEW_INTERVAL:_default' \
'--on-server-lost=[The policy when a connection to a server is lost]:ON_SERVER_LOST:(stop finish-running)' \
'--worker-start-cmd=[A command executed before the start of each worker]:WORKER_START_CMD:_default' \
'--worker-stop-cmd=[A command executed after the worker terminates]:WORKER_STOP_CMD:_default' \
'--worker-time-limit=[ Worker'\''s time limit  Time limit after which workers in the submitted allocations will be stopped. By default, it is set to the time limit of the allocation. However, if you want the workers to be stopped sooner, for example to give \`worker_stop_cmd\` more time to execute before the allocation is killed, you can lower the worker time limit.  The limit must not be larger than the allocation time limit.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:WORKER_TIME_LIMIT:_default' \
'--min-utilization=[Minimal expected utilization required to submit an allocation into this queue]:MIN_UTILIZATION:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-detect-resources[Disables auto-detection of resources]' \
'--no-hyper-threading[Ignores hyper-threading while detecting CPU cores]' \
'--no-dry-run[Disables verifying the parameter correctness via dry-run]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::additional_args -- Additional arguments passed to the submit command:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(pause)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':queue_id -- ID of the allocation queue that should be paused:_default' \
&& ret=0
;;
(resume)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':queue_id -- ID of the allocation queue that should be resumed:_default' \
&& ret=0
;;
(dry-run)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__alloc__dry-run_commands" \
"*::: :->dry-run" \
&& ret=0

    case $state in
    (dry-run)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-alloc-dry-run-command-$line[1]:"
        case $line[1] in
            (pbs)
_arguments "${_arguments_options[@]}" : \
'-b+[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'--backlog=[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'-t+[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--time-limit=[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'-m+[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-workers-per-alloc=[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-worker-count=[The maximum number of workers that can be queued/running at any given time in this queue]:MAX_WORKER_COUNT:_default' \
'-n+[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--name=[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--cpus=[The cores assigned to the worker]:CPUS:_default' \
'*--resource=[Resources provided by the worker]:RESOURCE:_default' \
'--group=[Sets worker'\''s group]:GROUP:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--overview-interval=[The period of reporting the overview to the server]:OVERVIEW_INTERVAL:_default' \
'--on-server-lost=[The policy when a connection to a server is lost]:ON_SERVER_LOST:(stop finish-running)' \
'--worker-start-cmd=[A command executed before the start of each worker]:WORKER_START_CMD:_default' \
'--worker-stop-cmd=[A command executed after the worker terminates]:WORKER_STOP_CMD:_default' \
'--worker-time-limit=[ Worker'\''s time limit  Time limit after which workers in the submitted allocations will be stopped. By default, it is set to the time limit of the allocation. However, if you want the workers to be stopped sooner, for example to give \`worker_stop_cmd\` more time to execute before the allocation is killed, you can lower the worker time limit.  The limit must not be larger than the allocation time limit.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:WORKER_TIME_LIMIT:_default' \
'--min-utilization=[Minimal expected utilization required to submit an allocation into this queue]:MIN_UTILIZATION:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-detect-resources[Disables auto-detection of resources]' \
'--no-hyper-threading[Ignores hyper-threading while detecting CPU cores]' \
'--no-dry-run[Disables verifying the parameter correctness via dry-run]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::additional_args -- Additional arguments passed to the submit command:_default' \
&& ret=0
;;
(slurm)
_arguments "${_arguments_options[@]}" : \
'-b+[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'--backlog=[The maximal number of jobs that can be waiting in the queue]:BACKLOG:_default' \
'-t+[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'--time-limit=[Time limit (walltime) of PBS/Slurm allocations  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:TIME_LIMIT:_default' \
'-m+[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-workers-per-alloc=[The maximal number of workers (=nodes) spawned in a single allocation]:MAX_WORKERS_PER_ALLOC:_default' \
'--max-worker-count=[The maximum number of workers that can be queued/running at any given time in this queue]:MAX_WORKER_COUNT:_default' \
'-n+[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--name=[Name of the allocation queue (for debug purposes only)]:NAME:_default' \
'--cpus=[The cores assigned to the worker]:CPUS:_default' \
'*--resource=[Resources provided by the worker]:RESOURCE:_default' \
'--group=[Sets worker'\''s group]:GROUP:_default' \
'--idle-timeout=[Duration after which will an idle worker automatically stop  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:IDLE_TIMEOUT:_default' \
'--overview-interval=[The period of reporting the overview to the server]:OVERVIEW_INTERVAL:_default' \
'--on-server-lost=[The policy when a connection to a server is lost]:ON_SERVER_LOST:(stop finish-running)' \
'--worker-start-cmd=[A command executed before the start of each worker]:WORKER_START_CMD:_default' \
'--worker-stop-cmd=[A command executed after the worker terminates]:WORKER_STOP_CMD:_default' \
'--worker-time-limit=[ Worker'\''s time limit  Time limit after which workers in the submitted allocations will be stopped. By default, it is set to the time limit of the allocation. However, if you want the workers to be stopped sooner, for example to give \`worker_stop_cmd\` more time to execute before the allocation is killed, you can lower the worker time limit.  The limit must not be larger than the allocation time limit.  You can use either the \`HH\:MM\:SS\` format or a "humantime" format. For example\: - 01\:00\:00 => 1 hour - 02\:05\:10 => 2 hours, 5 minutes, 10 seconds - 1h => 1 hour - 2h5m10s => 2 hours, 5 minutes, 10 seconds - 3h 10m 5s => 3 hours, 10 minutes, 5 seconds - 2 hours 5 minutes => 2 hours, 5 minutes]:WORKER_TIME_LIMIT:_default' \
'--min-utilization=[Minimal expected utilization required to submit an allocation into this queue]:MIN_UTILIZATION:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--no-detect-resources[Disables auto-detection of resources]' \
'--no-hyper-threading[Ignores hyper-threading while detecting CPU cores]' \
'--no-dry-run[Disables verifying the parameter correctness via dry-run]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::additional_args -- Additional arguments passed to the submit command:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--force[Remove the queue even if there are currently running jobs]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':queue_id -- ID of the allocation queue that should be removed:_default' \
&& ret=0
;;
        esac
    ;;
esac
;;
(journal)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__journal_commands" \
"*::: :->journal" \
&& ret=0

    case $state in
    (journal)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-journal-command-$line[1]:"
        case $line[1] in
            (export)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':journal -- Path to a journal:_files' \
&& ret=0
;;
(stream)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(replay)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(prune)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(flush)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(data)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__data_commands" \
"*::: :->data" \
&& ret=0

    case $state in
    (data)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-data-command-$line[1]:"
        case $line[1] in
            (put)
_arguments "${_arguments_options[@]}" : \
'--mime-type=[DataId of task output]:MIME_TYPE:_default' \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':data_id -- DataId of task output:_default' \
':path -- Path of file/directory that should be uploaded:_files' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':input_id -- Input ID:_default' \
':path -- Path of file/directory that should be downloaded:_files' \
&& ret=0
;;
        esac
    ;;
esac
;;
(dashboard)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__dashboard_commands" \
"*::: :->dashboard" \
&& ret=0

    case $state in
    (dashboard)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-dashboard-command-$line[1]:"
        case $line[1] in
            (stream)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(replay)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':journal -- Path to a journal file:_files' \
&& ret=0
;;
        esac
    ;;
esac
;;
(doc)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_hq__doc_commands" \
"*::: :->doc" \
&& ret=0

    case $state in
    (doc)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hq-doc-command-$line[1]:"
        case $line[1] in
            (job)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(jobs)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(tasks)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(taskarray)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(resources)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(worker)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(workers)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(autoalloc)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(pbs)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(slurm)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(python-api)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(python)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(cheatsheet)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(changelog)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(faq)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--open[Open the documentation in the default browser]' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
        esac
    ;;
esac
;;
(generate-completion)
_arguments "${_arguments_options[@]}" : \
'--server-dir=[The path where access files are stored]:SERVER_DIR:_files -/' \
'--colors=[Sets console color policy]:COLORS:((auto\:"Use colors if the stdout is detected to be a terminal"
always\:"Always use colors"
never\:"Never use colors"))' \
'--output-mode=[Sets output formatting]:OUTPUT_MODE:(cli json quiet)' \
'--debug[Enables more detailed log output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Shell'\''s flavor for which the completion script should be generated:(bash elvish fish powershell zsh)' \
&& ret=0
;;
        esac
    ;;
esac
}

(( $+functions[_hq_commands] )) ||
_hq_commands() {
    local commands; commands=(
'server:Commands for the server' \
'job:Commands for jobs' \
'task:Commands for tasks' \
'submit:Submits a new job' \
'worker:Commands for workers' \
'output-log:Operations for streaming logs' \
'alloc:Automatic allocation management' \
'journal:Journal management' \
'data:Data object management inside a task' \
'dashboard:Starts CLI dashboard' \
'doc:Shows documentation' \
'generate-completion:Generates shell completion script' \
    )
    _describe -t commands 'hq commands' commands "$@"
}
(( $+functions[_hq__alloc_commands] )) ||
_hq__alloc_commands() {
    local commands; commands=(
'list:Displays allocation queues' \
'info:Display allocations of the specified allocation queue' \
'add:Add a new allocation queue' \
'pause:Pause an existing allocation queue' \
'resume:Resume a previously paused allocation queue' \
'dry-run:Try to submit an allocation to test allocation parameters' \
'remove:Removes an allocation queue with the given ID' \
    )
    _describe -t commands 'hq alloc commands' commands "$@"
}
(( $+functions[_hq__alloc__add_commands] )) ||
_hq__alloc__add_commands() {
    local commands; commands=(
'pbs:Create a PBS allocation queue' \
'slurm:Create a SLURM allocation queue' \
    )
    _describe -t commands 'hq alloc add commands' commands "$@"
}
(( $+functions[_hq__alloc__add__pbs_commands] )) ||
_hq__alloc__add__pbs_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc add pbs commands' commands "$@"
}
(( $+functions[_hq__alloc__add__slurm_commands] )) ||
_hq__alloc__add__slurm_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc add slurm commands' commands "$@"
}
(( $+functions[_hq__alloc__dry-run_commands] )) ||
_hq__alloc__dry-run_commands() {
    local commands; commands=(
'pbs:Try to create a PBS allocation' \
'slurm:Try to create a SLURM allocation' \
    )
    _describe -t commands 'hq alloc dry-run commands' commands "$@"
}
(( $+functions[_hq__alloc__dry-run__pbs_commands] )) ||
_hq__alloc__dry-run__pbs_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc dry-run pbs commands' commands "$@"
}
(( $+functions[_hq__alloc__dry-run__slurm_commands] )) ||
_hq__alloc__dry-run__slurm_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc dry-run slurm commands' commands "$@"
}
(( $+functions[_hq__alloc__info_commands] )) ||
_hq__alloc__info_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc info commands' commands "$@"
}
(( $+functions[_hq__alloc__list_commands] )) ||
_hq__alloc__list_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc list commands' commands "$@"
}
(( $+functions[_hq__alloc__pause_commands] )) ||
_hq__alloc__pause_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc pause commands' commands "$@"
}
(( $+functions[_hq__alloc__remove_commands] )) ||
_hq__alloc__remove_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc remove commands' commands "$@"
}
(( $+functions[_hq__alloc__resume_commands] )) ||
_hq__alloc__resume_commands() {
    local commands; commands=()
    _describe -t commands 'hq alloc resume commands' commands "$@"
}
(( $+functions[_hq__dashboard_commands] )) ||
_hq__dashboard_commands() {
    local commands; commands=(
'stream:Streams events from a server' \
'replay:Replays events from a journal file' \
    )
    _describe -t commands 'hq dashboard commands' commands "$@"
}
(( $+functions[_hq__dashboard__replay_commands] )) ||
_hq__dashboard__replay_commands() {
    local commands; commands=()
    _describe -t commands 'hq dashboard replay commands' commands "$@"
}
(( $+functions[_hq__dashboard__stream_commands] )) ||
_hq__dashboard__stream_commands() {
    local commands; commands=()
    _describe -t commands 'hq dashboard stream commands' commands "$@"
}
(( $+functions[_hq__data_commands] )) ||
_hq__data_commands() {
    local commands; commands=(
'put:Inside a task, put a data object into the local datanode' \
'get:Inside a task, get an input data object into the local datanode' \
    )
    _describe -t commands 'hq data commands' commands "$@"
}
(( $+functions[_hq__data__get_commands] )) ||
_hq__data__get_commands() {
    local commands; commands=()
    _describe -t commands 'hq data get commands' commands "$@"
}
(( $+functions[_hq__data__put_commands] )) ||
_hq__data__put_commands() {
    local commands; commands=()
    _describe -t commands 'hq data put commands' commands "$@"
}
(( $+functions[_hq__doc_commands] )) ||
_hq__doc_commands() {
    local commands; commands=(
'job:Submitting and examining tasks and jobs' \
'jobs:Submitting and examining tasks and jobs' \
'tasks:Submitting and examining tasks and jobs' \
'taskarray:Jobs containing large amounts of similar tasks' \
'resources:CPU and generic resources of tasks' \
'worker:Deployment of workers' \
'workers:Deployment of workers' \
'autoalloc:Automatic allocator subsystem' \
'pbs:Automatic allocator subsystem' \
'slurm:Automatic allocator subsystem' \
'python-api:Python API' \
'python:Python API' \
'cheatsheet:Cheatsheet with the most common HyperQueue commands' \
'changelog:Changelog' \
'faq:Frequently asked questions about HyperQueue' \
    )
    _describe -t commands 'hq doc commands' commands "$@"
}
(( $+functions[_hq__doc__autoalloc_commands] )) ||
_hq__doc__autoalloc_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc autoalloc commands' commands "$@"
}
(( $+functions[_hq__doc__changelog_commands] )) ||
_hq__doc__changelog_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc changelog commands' commands "$@"
}
(( $+functions[_hq__doc__cheatsheet_commands] )) ||
_hq__doc__cheatsheet_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc cheatsheet commands' commands "$@"
}
(( $+functions[_hq__doc__faq_commands] )) ||
_hq__doc__faq_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc faq commands' commands "$@"
}
(( $+functions[_hq__doc__job_commands] )) ||
_hq__doc__job_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc job commands' commands "$@"
}
(( $+functions[_hq__doc__python-api_commands] )) ||
_hq__doc__python-api_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc python-api commands' commands "$@"
}
(( $+functions[_hq__doc__resources_commands] )) ||
_hq__doc__resources_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc resources commands' commands "$@"
}
(( $+functions[_hq__doc__taskarray_commands] )) ||
_hq__doc__taskarray_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc taskarray commands' commands "$@"
}
(( $+functions[_hq__doc__worker_commands] )) ||
_hq__doc__worker_commands() {
    local commands; commands=()
    _describe -t commands 'hq doc worker commands' commands "$@"
}
(( $+functions[_hq__generate-completion_commands] )) ||
_hq__generate-completion_commands() {
    local commands; commands=()
    _describe -t commands 'hq generate-completion commands' commands "$@"
}
(( $+functions[_hq__job_commands] )) ||
_hq__job_commands() {
    local commands; commands=(
'list:Displays information about jobs' \
'summary:Displays a summary with the number of jobs' \
'info:Displays detailed information of a job' \
'cancel:Cancels a job' \
'forget:Forget a job' \
'cat:Shows task(s) stdout and stderr' \
'submit:Submit a new job' \
'submit-file:Submits a job by a job definition file' \
'wait:Waits until a job is finished' \
'progress:Shows a progressbar with tasks/jobs' \
'task-ids:Prints task ids for a job' \
'open:Opens a new job (without attaching any tasks yet)' \
'close:Closes an open job' \
    )
    _describe -t commands 'hq job commands' commands "$@"
}
(( $+functions[_hq__job__cancel_commands] )) ||
_hq__job__cancel_commands() {
    local commands; commands=()
    _describe -t commands 'hq job cancel commands' commands "$@"
}
(( $+functions[_hq__job__cat_commands] )) ||
_hq__job__cat_commands() {
    local commands; commands=()
    _describe -t commands 'hq job cat commands' commands "$@"
}
(( $+functions[_hq__job__close_commands] )) ||
_hq__job__close_commands() {
    local commands; commands=()
    _describe -t commands 'hq job close commands' commands "$@"
}
(( $+functions[_hq__job__forget_commands] )) ||
_hq__job__forget_commands() {
    local commands; commands=()
    _describe -t commands 'hq job forget commands' commands "$@"
}
(( $+functions[_hq__job__info_commands] )) ||
_hq__job__info_commands() {
    local commands; commands=()
    _describe -t commands 'hq job info commands' commands "$@"
}
(( $+functions[_hq__job__list_commands] )) ||
_hq__job__list_commands() {
    local commands; commands=()
    _describe -t commands 'hq job list commands' commands "$@"
}
(( $+functions[_hq__job__open_commands] )) ||
_hq__job__open_commands() {
    local commands; commands=()
    _describe -t commands 'hq job open commands' commands "$@"
}
(( $+functions[_hq__job__progress_commands] )) ||
_hq__job__progress_commands() {
    local commands; commands=()
    _describe -t commands 'hq job progress commands' commands "$@"
}
(( $+functions[_hq__job__submit_commands] )) ||
_hq__job__submit_commands() {
    local commands; commands=()
    _describe -t commands 'hq job submit commands' commands "$@"
}
(( $+functions[_hq__job__submit-file_commands] )) ||
_hq__job__submit-file_commands() {
    local commands; commands=()
    _describe -t commands 'hq job submit-file commands' commands "$@"
}
(( $+functions[_hq__job__summary_commands] )) ||
_hq__job__summary_commands() {
    local commands; commands=()
    _describe -t commands 'hq job summary commands' commands "$@"
}
(( $+functions[_hq__job__task-ids_commands] )) ||
_hq__job__task-ids_commands() {
    local commands; commands=()
    _describe -t commands 'hq job task-ids commands' commands "$@"
}
(( $+functions[_hq__job__wait_commands] )) ||
_hq__job__wait_commands() {
    local commands; commands=()
    _describe -t commands 'hq job wait commands' commands "$@"
}
(( $+functions[_hq__journal_commands] )) ||
_hq__journal_commands() {
    local commands; commands=(
'export:Export events from a journal file' \
'stream:Replays all events from the start of the server, then streams new events' \
'replay:Replays all events from the start of the server, then terminate' \
'prune:Prune a journal of a running server' \
'flush:Forces a running server to flush its journal to the disk' \
    )
    _describe -t commands 'hq journal commands' commands "$@"
}
(( $+functions[_hq__journal__export_commands] )) ||
_hq__journal__export_commands() {
    local commands; commands=()
    _describe -t commands 'hq journal export commands' commands "$@"
}
(( $+functions[_hq__journal__flush_commands] )) ||
_hq__journal__flush_commands() {
    local commands; commands=()
    _describe -t commands 'hq journal flush commands' commands "$@"
}
(( $+functions[_hq__journal__prune_commands] )) ||
_hq__journal__prune_commands() {
    local commands; commands=()
    _describe -t commands 'hq journal prune commands' commands "$@"
}
(( $+functions[_hq__journal__replay_commands] )) ||
_hq__journal__replay_commands() {
    local commands; commands=()
    _describe -t commands 'hq journal replay commands' commands "$@"
}
(( $+functions[_hq__journal__stream_commands] )) ||
_hq__journal__stream_commands() {
    local commands; commands=()
    _describe -t commands 'hq journal stream commands' commands "$@"
}
(( $+functions[_hq__output-log_commands] )) ||
_hq__output-log_commands() {
    local commands; commands=(
'summary:Prints summary of the log file' \
'jobs:Prints job ids in the stream' \
'show:Prints the stream content ordered by time' \
'cat:Prints the content of a stream'\''s channel' \
'export:Exports stream into JSON' \
    )
    _describe -t commands 'hq output-log commands' commands "$@"
}
(( $+functions[_hq__output-log__cat_commands] )) ||
_hq__output-log__cat_commands() {
    local commands; commands=()
    _describe -t commands 'hq output-log cat commands' commands "$@"
}
(( $+functions[_hq__output-log__export_commands] )) ||
_hq__output-log__export_commands() {
    local commands; commands=()
    _describe -t commands 'hq output-log export commands' commands "$@"
}
(( $+functions[_hq__output-log__jobs_commands] )) ||
_hq__output-log__jobs_commands() {
    local commands; commands=()
    _describe -t commands 'hq output-log jobs commands' commands "$@"
}
(( $+functions[_hq__output-log__show_commands] )) ||
_hq__output-log__show_commands() {
    local commands; commands=()
    _describe -t commands 'hq output-log show commands' commands "$@"
}
(( $+functions[_hq__output-log__summary_commands] )) ||
_hq__output-log__summary_commands() {
    local commands; commands=()
    _describe -t commands 'hq output-log summary commands' commands "$@"
}
(( $+functions[_hq__server_commands] )) ||
_hq__server_commands() {
    local commands; commands=(
'start:Start the server' \
'stop:Stop the server' \
'info:Show info of a running server' \
'generate-access:Generate an access file without starting the server' \
    )
    _describe -t commands 'hq server commands' commands "$@"
}
(( $+functions[_hq__server__generate-access_commands] )) ||
_hq__server__generate-access_commands() {
    local commands; commands=()
    _describe -t commands 'hq server generate-access commands' commands "$@"
}
(( $+functions[_hq__server__info_commands] )) ||
_hq__server__info_commands() {
    local commands; commands=()
    _describe -t commands 'hq server info commands' commands "$@"
}
(( $+functions[_hq__server__start_commands] )) ||
_hq__server__start_commands() {
    local commands; commands=()
    _describe -t commands 'hq server start commands' commands "$@"
}
(( $+functions[_hq__server__stop_commands] )) ||
_hq__server__stop_commands() {
    local commands; commands=()
    _describe -t commands 'hq server stop commands' commands "$@"
}
(( $+functions[_hq__submit_commands] )) ||
_hq__submit_commands() {
    local commands; commands=()
    _describe -t commands 'hq submit commands' commands "$@"
}
(( $+functions[_hq__task_commands] )) ||
_hq__task_commands() {
    local commands; commands=(
'list:Displays task(s) associated with selected job(s)' \
'info:Displays detailed task info' \
'explain:Explain if task can run on a selected worker' \
    )
    _describe -t commands 'hq task commands' commands "$@"
}
(( $+functions[_hq__task__explain_commands] )) ||
_hq__task__explain_commands() {
    local commands; commands=()
    _describe -t commands 'hq task explain commands' commands "$@"
}
(( $+functions[_hq__task__info_commands] )) ||
_hq__task__info_commands() {
    local commands; commands=()
    _describe -t commands 'hq task info commands' commands "$@"
}
(( $+functions[_hq__task__list_commands] )) ||
_hq__task__list_commands() {
    local commands; commands=()
    _describe -t commands 'hq task list commands' commands "$@"
}
(( $+functions[_hq__worker_commands] )) ||
_hq__worker_commands() {
    local commands; commands=(
'start:Starts a worker' \
'stop:Stops a worker' \
'list:Displays information about workers' \
'hwdetect:Performs hardware detection' \
'info:Displays information about a worker' \
'address:Displays worker'\''s hostname' \
'wait:Waits on the connection of worker(s)' \
'deploy-ssh:Deploys a set of workers using SSH' \
    )
    _describe -t commands 'hq worker commands' commands "$@"
}
(( $+functions[_hq__worker__address_commands] )) ||
_hq__worker__address_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker address commands' commands "$@"
}
(( $+functions[_hq__worker__deploy-ssh_commands] )) ||
_hq__worker__deploy-ssh_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker deploy-ssh commands' commands "$@"
}
(( $+functions[_hq__worker__hwdetect_commands] )) ||
_hq__worker__hwdetect_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker hwdetect commands' commands "$@"
}
(( $+functions[_hq__worker__info_commands] )) ||
_hq__worker__info_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker info commands' commands "$@"
}
(( $+functions[_hq__worker__list_commands] )) ||
_hq__worker__list_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker list commands' commands "$@"
}
(( $+functions[_hq__worker__start_commands] )) ||
_hq__worker__start_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker start commands' commands "$@"
}
(( $+functions[_hq__worker__stop_commands] )) ||
_hq__worker__stop_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker stop commands' commands "$@"
}
(( $+functions[_hq__worker__wait_commands] )) ||
_hq__worker__wait_commands() {
    local commands; commands=()
    _describe -t commands 'hq worker wait commands' commands "$@"
}

if [ "$funcstack[1]" = "_hq" ]; then
    _hq "$@"
else
    compdef _hq hq
fi
