#compdef cardwire

autoload -U is-at-least

_cardwire() {
    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[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_cardwire_commands" \
"*::: :->cardwire-cli" \
&& ret=0
    case $state in
    (cardwire-cli)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':mode -- Set to the desired mode:(integrated hybrid manual smart)' \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'--full[Print the whole pci list]' \
'--json[Print the gpu list in json format]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(gpu)
_arguments "${_arguments_options[@]}" : \
'--block[Block a specific gpu]' \
'--unblock[Unblock a specific gpu]' \
'--lsof[List open files on the GPU]' \
'--power[Get GPU power state]' \
'-h[Print help]' \
'--help[Print help]' \
':id:_default' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_cardwire__subcmd__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-config-command-$line[1]:"
        case $line[1] in
            (auto-apply-gpu-state)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::set -- Value to set:(true false)' \
&& ret=0
;;
(experimental-nvidia-block)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::set -- Value to set:(true false)' \
&& ret=0
;;
(battery-auto-switch)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::set -- Value to set:(true false)' \
&& ret=0
;;
(battery-auto-switch-mode)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::set -- Value to set:(integrated hybrid manual smart)' \
&& ret=0
;;
(external-display-auto-switch)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::set -- Value to set:(true false)' \
&& ret=0
;;
(save)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__config__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-config-help-command-$line[1]:"
        case $line[1] in
            (auto-apply-gpu-state)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(experimental-nvidia-block)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(battery-auto-switch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(battery-auto-switch-mode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(external-display-auto-switch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(save)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(manager)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_cardwire__subcmd__manager_commands" \
"*::: :->manager" \
&& ret=0

    case $state in
    (manager)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-manager-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__manager__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-manager-help-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
":: :_cardwire__subcmd__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-debug-command-$line[1]:"
        case $line[1] in
            (diagnostic-gpu)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(refresh-gpu)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__debug__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-debug-help-command-$line[1]:"
        case $line[1] in
            (diagnostic-gpu)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(refresh-gpu)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(launch)
_arguments "${_arguments_options[@]}" : \
'--gpu=[Select the gpu]:GPU:_default' \
'-h[Print help]' \
'--help[Print help]' \
'*::program -- The program to launch and its arguments (e.g., `nvtop -s`):_default' \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
':shell -- The shell to generate the completions for:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(complete-gpus)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-help-command-$line[1]:"
        case $line[1] in
            (set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(gpu)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__help__subcmd__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-help-config-command-$line[1]:"
        case $line[1] in
            (auto-apply-gpu-state)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(experimental-nvidia-block)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(battery-auto-switch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(battery-auto-switch-mode)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(external-display-auto-switch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(save)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(manager)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__help__subcmd__manager_commands" \
"*::: :->manager" \
&& ret=0

    case $state in
    (manager)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-help-manager-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
":: :_cardwire__subcmd__help__subcmd__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:cardwire-help-debug-command-$line[1]:"
        case $line[1] in
            (diagnostic-gpu)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(refresh-gpu)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(launch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(complete-gpus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_cardwire_commands] )) ||
_cardwire_commands() {
    local commands; commands=(
'set:Set to the desired mode' \
'get:Get the current mode' \
'list:Print the gpu list' \
'gpu:Manage a specific GPU by its id' \
'config:Manage daemon configuration' \
'manager:Manager operations' \
'debug:Debug operations' \
'launch:Launch a program on the specified GPU' \
'completion:Generate shell completions' \
'complete-gpus:Complete gpus for shell' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__complete-gpus_commands] )) ||
_cardwire__subcmd__complete-gpus_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire complete-gpus commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__completion_commands] )) ||
_cardwire__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire completion commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config_commands] )) ||
_cardwire__subcmd__config_commands() {
    local commands; commands=(
'auto-apply-gpu-state:Get or set AutoApplyGpuState' \
'experimental-nvidia-block:Get or set ExperimentalNvidiaBlock' \
'battery-auto-switch:Get or set BatteryAutoSwitch' \
'battery-auto-switch-mode:Get or set BatteryAutoSwitchMode' \
'external-display-auto-switch:Get or set ExternalDisplayAutoSwitch' \
'save:Save current configuration to file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire config commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__auto-apply-gpu-state_commands] )) ||
_cardwire__subcmd__config__subcmd__auto-apply-gpu-state_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config auto-apply-gpu-state commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__battery-auto-switch_commands] )) ||
_cardwire__subcmd__config__subcmd__battery-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config battery-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__battery-auto-switch-mode_commands] )) ||
_cardwire__subcmd__config__subcmd__battery-auto-switch-mode_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config battery-auto-switch-mode commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__experimental-nvidia-block_commands] )) ||
_cardwire__subcmd__config__subcmd__experimental-nvidia-block_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config experimental-nvidia-block commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__external-display-auto-switch_commands] )) ||
_cardwire__subcmd__config__subcmd__external-display-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config external-display-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help_commands] )) ||
_cardwire__subcmd__config__subcmd__help_commands() {
    local commands; commands=(
'auto-apply-gpu-state:Get or set AutoApplyGpuState' \
'experimental-nvidia-block:Get or set ExperimentalNvidiaBlock' \
'battery-auto-switch:Get or set BatteryAutoSwitch' \
'battery-auto-switch-mode:Get or set BatteryAutoSwitchMode' \
'external-display-auto-switch:Get or set ExternalDisplayAutoSwitch' \
'save:Save current configuration to file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire config help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__auto-apply-gpu-state_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__auto-apply-gpu-state_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help auto-apply-gpu-state commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__battery-auto-switch_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__battery-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help battery-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__battery-auto-switch-mode_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__battery-auto-switch-mode_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help battery-auto-switch-mode commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__experimental-nvidia-block_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__experimental-nvidia-block_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help experimental-nvidia-block commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__external-display-auto-switch_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__external-display-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help external-display-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__help_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__help__subcmd__save_commands] )) ||
_cardwire__subcmd__config__subcmd__help__subcmd__save_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config help save commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__config__subcmd__save_commands] )) ||
_cardwire__subcmd__config__subcmd__save_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire config save commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug_commands] )) ||
_cardwire__subcmd__debug_commands() {
    local commands; commands=(
'diagnostic-gpu:Run GPU diagnostics' \
'refresh-gpu:Refresh GPU list in daemon' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire debug commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__diagnostic-gpu_commands] )) ||
_cardwire__subcmd__debug__subcmd__diagnostic-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire debug diagnostic-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__help_commands] )) ||
_cardwire__subcmd__debug__subcmd__help_commands() {
    local commands; commands=(
'diagnostic-gpu:Run GPU diagnostics' \
'refresh-gpu:Refresh GPU list in daemon' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire debug help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__help__subcmd__diagnostic-gpu_commands] )) ||
_cardwire__subcmd__debug__subcmd__help__subcmd__diagnostic-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire debug help diagnostic-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__help__subcmd__help_commands] )) ||
_cardwire__subcmd__debug__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire debug help help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__help__subcmd__refresh-gpu_commands] )) ||
_cardwire__subcmd__debug__subcmd__help__subcmd__refresh-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire debug help refresh-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__debug__subcmd__refresh-gpu_commands] )) ||
_cardwire__subcmd__debug__subcmd__refresh-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire debug refresh-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__get_commands] )) ||
_cardwire__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire get commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__gpu_commands] )) ||
_cardwire__subcmd__gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help_commands] )) ||
_cardwire__subcmd__help_commands() {
    local commands; commands=(
'set:Set to the desired mode' \
'get:Get the current mode' \
'list:Print the gpu list' \
'gpu:Manage a specific GPU by its id' \
'config:Manage daemon configuration' \
'manager:Manager operations' \
'debug:Debug operations' \
'launch:Launch a program on the specified GPU' \
'completion:Generate shell completions' \
'complete-gpus:Complete gpus for shell' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__complete-gpus_commands] )) ||
_cardwire__subcmd__help__subcmd__complete-gpus_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help complete-gpus commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__completion_commands] )) ||
_cardwire__subcmd__help__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help completion commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config_commands] )) ||
_cardwire__subcmd__help__subcmd__config_commands() {
    local commands; commands=(
'auto-apply-gpu-state:Get or set AutoApplyGpuState' \
'experimental-nvidia-block:Get or set ExperimentalNvidiaBlock' \
'battery-auto-switch:Get or set BatteryAutoSwitch' \
'battery-auto-switch-mode:Get or set BatteryAutoSwitchMode' \
'external-display-auto-switch:Get or set ExternalDisplayAutoSwitch' \
'save:Save current configuration to file' \
    )
    _describe -t commands 'cardwire help config commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__auto-apply-gpu-state_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__auto-apply-gpu-state_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config auto-apply-gpu-state commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__battery-auto-switch_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__battery-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config battery-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__battery-auto-switch-mode_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__battery-auto-switch-mode_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config battery-auto-switch-mode commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__experimental-nvidia-block_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__experimental-nvidia-block_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config experimental-nvidia-block commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__external-display-auto-switch_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__external-display-auto-switch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config external-display-auto-switch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__config__subcmd__save_commands] )) ||
_cardwire__subcmd__help__subcmd__config__subcmd__save_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help config save commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__debug_commands] )) ||
_cardwire__subcmd__help__subcmd__debug_commands() {
    local commands; commands=(
'diagnostic-gpu:Run GPU diagnostics' \
'refresh-gpu:Refresh GPU list in daemon' \
    )
    _describe -t commands 'cardwire help debug commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__debug__subcmd__diagnostic-gpu_commands] )) ||
_cardwire__subcmd__help__subcmd__debug__subcmd__diagnostic-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help debug diagnostic-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__debug__subcmd__refresh-gpu_commands] )) ||
_cardwire__subcmd__help__subcmd__debug__subcmd__refresh-gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help debug refresh-gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__get_commands] )) ||
_cardwire__subcmd__help__subcmd__get_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help get commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__gpu_commands] )) ||
_cardwire__subcmd__help__subcmd__gpu_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help gpu commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__help_commands] )) ||
_cardwire__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__launch_commands] )) ||
_cardwire__subcmd__help__subcmd__launch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help launch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__list_commands] )) ||
_cardwire__subcmd__help__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help list commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__manager_commands] )) ||
_cardwire__subcmd__help__subcmd__manager_commands() {
    local commands; commands=(
'status:Check if daemon is alive' \
    )
    _describe -t commands 'cardwire help manager commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__manager__subcmd__status_commands] )) ||
_cardwire__subcmd__help__subcmd__manager__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help manager status commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__help__subcmd__set_commands] )) ||
_cardwire__subcmd__help__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire help set commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__launch_commands] )) ||
_cardwire__subcmd__launch_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire launch commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__list_commands] )) ||
_cardwire__subcmd__list_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire list commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__manager_commands] )) ||
_cardwire__subcmd__manager_commands() {
    local commands; commands=(
'status:Check if daemon is alive' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire manager commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__manager__subcmd__help_commands] )) ||
_cardwire__subcmd__manager__subcmd__help_commands() {
    local commands; commands=(
'status:Check if daemon is alive' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'cardwire manager help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__manager__subcmd__help__subcmd__help_commands] )) ||
_cardwire__subcmd__manager__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire manager help help commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__manager__subcmd__help__subcmd__status_commands] )) ||
_cardwire__subcmd__manager__subcmd__help__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire manager help status commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__manager__subcmd__status_commands] )) ||
_cardwire__subcmd__manager__subcmd__status_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire manager status commands' commands "$@"
}
(( $+functions[_cardwire__subcmd__set_commands] )) ||
_cardwire__subcmd__set_commands() {
    local commands; commands=()
    _describe -t commands 'cardwire set commands' commands "$@"
}

if [ "$funcstack[1]" = "_cardwire" ]; then
    _cardwire "$@"
else
    compdef _cardwire cardwire
fi
