#compdef eruptionctl

autoload -U is-at-least

_eruptionctl() {
    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[@]}" \
'-c+[Sets the configuration file to use]:CONFIG: ' \
'--config=[Sets the configuration file to use]:CONFIG: ' \
'*-v[Verbose mode (-v, -vv, -vvv, etc.)]' \
'*--verbose[Verbose mode (-v, -vv, -vvv, etc.)]' \
'-r[Repeat output until ctrl+c is pressed]' \
'--repeat[Repeat output until ctrl+c is pressed]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_eruptionctl_commands" \
"*::: :->eruptionctl" \
&& ret=0
    case $state in
    (eruptionctl)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-command-$line[1]:"
        case $line[1] in
            (status)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__status_commands" \
"*::: :->status" \
&& ret=0

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

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

    case $state in
    (switch)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-switch-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':profile_name:' \
&& ret=0
;;
(slot)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':index:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__switch__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-switch-help-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(slot)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-config-command-$line[1]:"
        case $line[1] in
            (brightness)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'::brightness:' \
&& ret=0
;;
(soundfx)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'::enable:(true false)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-config-help-command-$line[1]:"
        case $line[1] in
            (brightness)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(soundfx)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(devices)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__devices_commands" \
"*::: :->devices" \
&& ret=0

    case $state in
    (devices)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-devices-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
&& ret=0
;;
(brightness)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::brightness:' \
&& ret=0
;;
(profile)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::profile:' \
&& ret=0
;;
(dpi)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::dpi:' \
&& ret=0
;;
(rate)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::rate:' \
&& ret=0
;;
(debounce)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::enable:(true false)' \
&& ret=0
;;
(distance)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::param:' \
&& ret=0
;;
(angle-snapping)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':device:' \
'::enable:(true false)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__devices__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-devices-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(brightness)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(profile)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(dpi)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(debounce)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(distance)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(angle-snapping)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(profiles)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__profiles_commands" \
"*::: :->profiles" \
&& ret=0

    case $state in
    (profiles)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-profiles-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':profile_name:' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':profile_name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__profiles__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-profiles-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(scripts)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__scripts_commands" \
"*::: :->scripts" \
&& ret=0

    case $state in
    (scripts)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-scripts-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':script_name:' \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':script_name:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__scripts__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-scripts-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(color-schemes)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__color-schemes_commands" \
"*::: :->color-schemes" \
&& ret=0

    case $state in
    (color-schemes)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-color-schemes-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':name:' \
'*::colors:' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':name:' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__color-schemes__import_commands" \
"*::: :->import" \
&& ret=0

    case $state in
    (import)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-color-schemes-import-command-$line[1]:"
        case $line[1] in
            (pywal)
_arguments "${_arguments_options[@]}" \
'-o[Optimize palette]' \
'--optimize[Optimize palette]' \
'-h[Print help]' \
'--help[Print help]' \
'::file_name -- Optionally specify the file name to the pywal color scheme:_files' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__color-schemes__import__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-color-schemes-import-help-command-$line[1]:"
        case $line[1] in
            (pywal)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__color-schemes__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-color-schemes-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__color-schemes__help__import_commands" \
"*::: :->import" \
&& ret=0

    case $state in
    (import)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-color-schemes-help-import-command-$line[1]:"
        case $line[1] in
            (pywal)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(param)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'::script:' \
'::parameter:' \
'::value:' \
&& ret=0
;;
(names)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__names_commands" \
"*::: :->names" \
&& ret=0

    case $state in
    (names)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-names-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':slot_index:' \
':name:' \
&& ret=0
;;
(set-all)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'*::names:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__names__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-names-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set-all)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(effects)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__effects_commands" \
"*::: :->effects" \
&& ret=0

    case $state in
    (effects)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-command-$line[1]:"
        case $line[1] in
            (enable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__effects__enable_commands" \
"*::: :->enable" \
&& ret=0

    case $state in
    (enable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-enable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':filename:_files' \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':directory_name:_files' \
'::frame_delay:' \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'::frame_delay:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__enable__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-enable-help-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(disable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__effects__disable_commands" \
"*::: :->disable" \
&& ret=0

    case $state in
    (disable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-disable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__disable__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-disable-help-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__effects__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-config-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':filename:_files' \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':directory_name:_files' \
'::frame_delay:' \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'::frame_delay:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-config-help-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-help-command-$line[1]:"
        case $line[1] in
            (enable)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__help__enable_commands" \
"*::: :->enable" \
&& ret=0

    case $state in
    (enable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-help-enable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(disable)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__help__disable_commands" \
"*::: :->disable" \
&& ret=0

    case $state in
    (disable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-help-disable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__effects__help__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-effects-help-config-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(rules)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
":: :_eruptionctl__rules_commands" \
"*::: :->rules" \
&& ret=0

    case $state in
    (rules)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-rules-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
'*::rule:' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':rule_index:' \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':rule_index:' \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':rule_index:' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__rules__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-rules-help-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" \
'-h[Print help]' \
'--help[Print help]' \
':shell:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (status)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-status-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(slot)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(switch)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__switch_commands" \
"*::: :->switch" \
&& ret=0

    case $state in
    (switch)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-switch-command-$line[1]:"
        case $line[1] in
            (profile)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(slot)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(config)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-config-command-$line[1]:"
        case $line[1] in
            (brightness)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(soundfx)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(devices)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__devices_commands" \
"*::: :->devices" \
&& ret=0

    case $state in
    (devices)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-devices-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(status)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(brightness)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(profile)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(dpi)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(rate)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(debounce)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(distance)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(angle-snapping)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(profiles)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__profiles_commands" \
"*::: :->profiles" \
&& ret=0

    case $state in
    (profiles)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-profiles-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(scripts)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__scripts_commands" \
"*::: :->scripts" \
&& ret=0

    case $state in
    (scripts)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-scripts-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(info)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(edit)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(color-schemes)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__color-schemes_commands" \
"*::: :->color-schemes" \
&& ret=0

    case $state in
    (color-schemes)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-color-schemes-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__color-schemes__import_commands" \
"*::: :->import" \
&& ret=0

    case $state in
    (import)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-color-schemes-import-command-$line[1]:"
        case $line[1] in
            (pywal)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(param)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(names)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__names_commands" \
"*::: :->names" \
&& ret=0

    case $state in
    (names)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-names-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(set-all)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(effects)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__effects_commands" \
"*::: :->effects" \
&& ret=0

    case $state in
    (effects)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-effects-command-$line[1]:"
        case $line[1] in
            (enable)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__effects__enable_commands" \
"*::: :->enable" \
&& ret=0

    case $state in
    (enable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-effects-enable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(disable)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__effects__disable_commands" \
"*::: :->disable" \
&& ret=0

    case $state in
    (disable)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-effects-disable-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(status)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__effects__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-effects-config-command-$line[1]:"
        case $line[1] in
            (image)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(animation)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(ambient)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(rules)
_arguments "${_arguments_options[@]}" \
":: :_eruptionctl__help__rules_commands" \
"*::: :->rules" \
&& ret=0

    case $state in
    (rules)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:eruptionctl-help-rules-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(enable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(disable)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
(completions)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_eruptionctl_commands] )) ||
_eruptionctl_commands() {
    local commands; commands=(
'status:Shows the currently active profile or slot' \
'switch:Switch to a different profile or slot' \
'config:Configuration related sub-commands' \
'devices:Get or set some device specific configuration parameters' \
'profiles:Profile related sub-commands' \
'scripts:Script related sub-commands' \
'color-schemes:Define, import or delete a named color scheme' \
'param:Get or set script parameters on the currently active profile' \
'names:Naming related commands such as renaming of profile slots' \
'effects:Special effects like Ambient, image overlays or animations' \
'rules:Rules related sub-commands' \
'completions:Generate shell completions' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__add_commands] )) ||
_eruptionctl__color-schemes__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes add commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__add_commands] )) ||
_eruptionctl__color-schemes__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes help add commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes__add_commands] )) ||
_eruptionctl__help__color-schemes__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help color-schemes add commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules__add_commands] )) ||
_eruptionctl__help__rules__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help rules add commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__add_commands] )) ||
_eruptionctl__rules__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules add commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__add_commands] )) ||
_eruptionctl__rules__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help add commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__ambient_commands] )) ||
_eruptionctl__effects__config__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__help__ambient_commands] )) ||
_eruptionctl__effects__config__help__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config help ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__ambient_commands] )) ||
_eruptionctl__effects__disable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__help__ambient_commands] )) ||
_eruptionctl__effects__disable__help__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable help ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__ambient_commands] )) ||
_eruptionctl__effects__enable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__help__ambient_commands] )) ||
_eruptionctl__effects__enable__help__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable help ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__config__ambient_commands] )) ||
_eruptionctl__effects__help__config__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help config ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__disable__ambient_commands] )) ||
_eruptionctl__effects__help__disable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help disable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__enable__ambient_commands] )) ||
_eruptionctl__effects__help__enable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help enable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__config__ambient_commands] )) ||
_eruptionctl__help__effects__config__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects config ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__disable__ambient_commands] )) ||
_eruptionctl__help__effects__disable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects disable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__enable__ambient_commands] )) ||
_eruptionctl__help__effects__enable__ambient_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects enable ambient commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__angle-snapping_commands] )) ||
_eruptionctl__devices__angle-snapping_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices angle-snapping commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__angle-snapping_commands] )) ||
_eruptionctl__devices__help__angle-snapping_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help angle-snapping commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__angle-snapping_commands] )) ||
_eruptionctl__help__devices__angle-snapping_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices angle-snapping commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__animation_commands] )) ||
_eruptionctl__effects__config__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__help__animation_commands] )) ||
_eruptionctl__effects__config__help__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config help animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__animation_commands] )) ||
_eruptionctl__effects__disable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__help__animation_commands] )) ||
_eruptionctl__effects__disable__help__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable help animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__animation_commands] )) ||
_eruptionctl__effects__enable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__help__animation_commands] )) ||
_eruptionctl__effects__enable__help__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable help animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__config__animation_commands] )) ||
_eruptionctl__effects__help__config__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help config animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__disable__animation_commands] )) ||
_eruptionctl__effects__help__disable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help disable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__enable__animation_commands] )) ||
_eruptionctl__effects__help__enable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help enable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__config__animation_commands] )) ||
_eruptionctl__help__effects__config__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects config animation commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__disable__animation_commands] )) ||
_eruptionctl__help__effects__disable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects disable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__enable__animation_commands] )) ||
_eruptionctl__help__effects__enable__animation_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects enable animation commands' commands "$@"
}
(( $+functions[_eruptionctl__config__brightness_commands] )) ||
_eruptionctl__config__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl config brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__config__help__brightness_commands] )) ||
_eruptionctl__config__help__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl config help brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__brightness_commands] )) ||
_eruptionctl__devices__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__brightness_commands] )) ||
_eruptionctl__devices__help__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__help__config__brightness_commands] )) ||
_eruptionctl__help__config__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help config brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__brightness_commands] )) ||
_eruptionctl__help__devices__brightness_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices brightness commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes_commands] )) ||
_eruptionctl__color-schemes_commands() {
    local commands; commands=(
'list:List all color schemes known to Eruption' \
'add:Add a new named color scheme' \
'remove:Remove a color scheme by name' \
'import:Import a color scheme from a file, e.g.\: like the Pywal configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl color-schemes commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes_commands] )) ||
_eruptionctl__help__color-schemes_commands() {
    local commands; commands=(
'list:List all color schemes known to Eruption' \
'add:Add a new named color scheme' \
'remove:Remove a color scheme by name' \
'import:Import a color scheme from a file, e.g.\: like the Pywal configuration' \
    )
    _describe -t commands 'eruptionctl help color-schemes commands' commands "$@"
}
(( $+functions[_eruptionctl__completions_commands] )) ||
_eruptionctl__completions_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl completions commands' commands "$@"
}
(( $+functions[_eruptionctl__help__completions_commands] )) ||
_eruptionctl__help__completions_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help completions commands' commands "$@"
}
(( $+functions[_eruptionctl__config_commands] )) ||
_eruptionctl__config_commands() {
    local commands; commands=(
'brightness:Get or set the global brightness of the LEDs' \
'soundfx:Get or set the state of SoundFX' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl config commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config_commands] )) ||
_eruptionctl__effects__config_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects config commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__config_commands] )) ||
_eruptionctl__effects__help__config_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
    )
    _describe -t commands 'eruptionctl effects help config commands' commands "$@"
}
(( $+functions[_eruptionctl__help__config_commands] )) ||
_eruptionctl__help__config_commands() {
    local commands; commands=(
'brightness:Get or set the global brightness of the LEDs' \
'soundfx:Get or set the state of SoundFX' \
    )
    _describe -t commands 'eruptionctl help config commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__config_commands] )) ||
_eruptionctl__help__effects__config_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
    )
    _describe -t commands 'eruptionctl help effects config commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__debounce_commands] )) ||
_eruptionctl__devices__debounce_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices debounce commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__debounce_commands] )) ||
_eruptionctl__devices__help__debounce_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help debounce commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__debounce_commands] )) ||
_eruptionctl__help__devices__debounce_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices debounce commands' commands "$@"
}
(( $+functions[_eruptionctl__devices_commands] )) ||
_eruptionctl__devices_commands() {
    local commands; commands=(
'list:List connected devices and their indices (run this first)' \
'info:Get information about a specific device' \
'status:Get status of a specific device' \
'brightness:Get or set the device specific brightness of the LEDs' \
'profile:Get or set the current profile (applicable for some devices)' \
'dpi:Get or set the DPI parameter (applicable for some mice)' \
'rate:Get or set the bus poll rate' \
'debounce:Get or set the debounce parameter (applicable for some mice)' \
'distance:Get or set the DCU parameter (applicable for some mice)' \
'angle-snapping:Get or set the angle-snapping parameter (applicable for some mice)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl devices commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices_commands] )) ||
_eruptionctl__help__devices_commands() {
    local commands; commands=(
'list:List connected devices and their indices (run this first)' \
'info:Get information about a specific device' \
'status:Get status of a specific device' \
'brightness:Get or set the device specific brightness of the LEDs' \
'profile:Get or set the current profile (applicable for some devices)' \
'dpi:Get or set the DPI parameter (applicable for some mice)' \
'rate:Get or set the bus poll rate' \
'debounce:Get or set the debounce parameter (applicable for some mice)' \
'distance:Get or set the DCU parameter (applicable for some mice)' \
'angle-snapping:Get or set the angle-snapping parameter (applicable for some mice)' \
    )
    _describe -t commands 'eruptionctl help devices commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable_commands] )) ||
_eruptionctl__effects__disable_commands() {
    local commands; commands=(
'image:Disable the image effect' \
'animation:Disable the animation effect' \
'ambient:Disable the ambient effect' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects disable commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__disable_commands] )) ||
_eruptionctl__effects__help__disable_commands() {
    local commands; commands=(
'image:Disable the image effect' \
'animation:Disable the animation effect' \
'ambient:Disable the ambient effect' \
    )
    _describe -t commands 'eruptionctl effects help disable commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__disable_commands] )) ||
_eruptionctl__help__effects__disable_commands() {
    local commands; commands=(
'image:Disable the image effect' \
'animation:Disable the animation effect' \
'ambient:Disable the ambient effect' \
    )
    _describe -t commands 'eruptionctl help effects disable commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules__disable_commands] )) ||
_eruptionctl__help__rules__disable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help rules disable commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__disable_commands] )) ||
_eruptionctl__rules__disable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules disable commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__disable_commands] )) ||
_eruptionctl__rules__help__disable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help disable commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__distance_commands] )) ||
_eruptionctl__devices__distance_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices distance commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__distance_commands] )) ||
_eruptionctl__devices__help__distance_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help distance commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__distance_commands] )) ||
_eruptionctl__help__devices__distance_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices distance commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__dpi_commands] )) ||
_eruptionctl__devices__dpi_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices dpi commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__dpi_commands] )) ||
_eruptionctl__devices__help__dpi_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help dpi commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__dpi_commands] )) ||
_eruptionctl__help__devices__dpi_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices dpi commands' commands "$@"
}
(( $+functions[_eruptionctl__help__profiles__edit_commands] )) ||
_eruptionctl__help__profiles__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help profiles edit commands' commands "$@"
}
(( $+functions[_eruptionctl__help__scripts__edit_commands] )) ||
_eruptionctl__help__scripts__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help scripts edit commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__edit_commands] )) ||
_eruptionctl__profiles__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles edit commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__help__edit_commands] )) ||
_eruptionctl__profiles__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles help edit commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__edit_commands] )) ||
_eruptionctl__scripts__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts edit commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__help__edit_commands] )) ||
_eruptionctl__scripts__help__edit_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts help edit commands' commands "$@"
}
(( $+functions[_eruptionctl__effects_commands] )) ||
_eruptionctl__effects_commands() {
    local commands; commands=(
'enable:Enable an effect' \
'disable:Disable an active effect' \
'status:Show the status of the Eruption effects subsystem' \
'config:Configure an active effect' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects_commands] )) ||
_eruptionctl__help__effects_commands() {
    local commands; commands=(
'enable:Enable an effect' \
'disable:Disable an active effect' \
'status:Show the status of the Eruption effects subsystem' \
'config:Configure an active effect' \
    )
    _describe -t commands 'eruptionctl help effects commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable_commands] )) ||
_eruptionctl__effects__enable_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects enable commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__enable_commands] )) ||
_eruptionctl__effects__help__enable_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
    )
    _describe -t commands 'eruptionctl effects help enable commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__enable_commands] )) ||
_eruptionctl__help__effects__enable_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
    )
    _describe -t commands 'eruptionctl help effects enable commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules__enable_commands] )) ||
_eruptionctl__help__rules__enable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help rules enable commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__enable_commands] )) ||
_eruptionctl__rules__enable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules enable commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__enable_commands] )) ||
_eruptionctl__rules__help__enable_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help enable commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help_commands] )) ||
_eruptionctl__color-schemes__help_commands() {
    local commands; commands=(
'list:List all color schemes known to Eruption' \
'add:Add a new named color scheme' \
'remove:Remove a color scheme by name' \
'import:Import a color scheme from a file, e.g.\: like the Pywal configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl color-schemes help commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__help_commands] )) ||
_eruptionctl__color-schemes__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes help help commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__import__help_commands] )) ||
_eruptionctl__color-schemes__import__help_commands() {
    local commands; commands=(
'pywal:Import an existing Pywal color scheme' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl color-schemes import help commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__import__help__help_commands] )) ||
_eruptionctl__color-schemes__import__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes import help help commands' commands "$@"
}
(( $+functions[_eruptionctl__config__help_commands] )) ||
_eruptionctl__config__help_commands() {
    local commands; commands=(
'brightness:Get or set the global brightness of the LEDs' \
'soundfx:Get or set the state of SoundFX' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl config help commands' commands "$@"
}
(( $+functions[_eruptionctl__config__help__help_commands] )) ||
_eruptionctl__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl config help help commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help_commands] )) ||
_eruptionctl__devices__help_commands() {
    local commands; commands=(
'list:List connected devices and their indices (run this first)' \
'info:Get information about a specific device' \
'status:Get status of a specific device' \
'brightness:Get or set the device specific brightness of the LEDs' \
'profile:Get or set the current profile (applicable for some devices)' \
'dpi:Get or set the DPI parameter (applicable for some mice)' \
'rate:Get or set the bus poll rate' \
'debounce:Get or set the debounce parameter (applicable for some mice)' \
'distance:Get or set the DCU parameter (applicable for some mice)' \
'angle-snapping:Get or set the angle-snapping parameter (applicable for some mice)' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl devices help commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__help_commands] )) ||
_eruptionctl__devices__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__help_commands] )) ||
_eruptionctl__effects__config__help_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects config help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__help__help_commands] )) ||
_eruptionctl__effects__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config help help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__help_commands] )) ||
_eruptionctl__effects__disable__help_commands() {
    local commands; commands=(
'image:Disable the image effect' \
'animation:Disable the animation effect' \
'ambient:Disable the ambient effect' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects disable help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__help__help_commands] )) ||
_eruptionctl__effects__disable__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable help help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__help_commands] )) ||
_eruptionctl__effects__enable__help_commands() {
    local commands; commands=(
'image:Load an image file and display it on the connected devices' \
'animation:Load image files from a directory and display each one on the connected devices' \
'ambient:Make the LEDs of connected devices reflect what is shown on the screen' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects enable help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__help__help_commands] )) ||
_eruptionctl__effects__enable__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable help help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help_commands] )) ||
_eruptionctl__effects__help_commands() {
    local commands; commands=(
'enable:Enable an effect' \
'disable:Disable an active effect' \
'status:Show the status of the Eruption effects subsystem' \
'config:Configure an active effect' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl effects help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__help_commands] )) ||
_eruptionctl__effects__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help help commands' commands "$@"
}
(( $+functions[_eruptionctl__help_commands] )) ||
_eruptionctl__help_commands() {
    local commands; commands=(
'status:Shows the currently active profile or slot' \
'switch:Switch to a different profile or slot' \
'config:Configuration related sub-commands' \
'devices:Get or set some device specific configuration parameters' \
'profiles:Profile related sub-commands' \
'scripts:Script related sub-commands' \
'color-schemes:Define, import or delete a named color scheme' \
'param:Get or set script parameters on the currently active profile' \
'names:Naming related commands such as renaming of profile slots' \
'effects:Special effects like Ambient, image overlays or animations' \
'rules:Rules related sub-commands' \
'completions:Generate shell completions' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl help commands' commands "$@"
}
(( $+functions[_eruptionctl__help__help_commands] )) ||
_eruptionctl__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help help commands' commands "$@"
}
(( $+functions[_eruptionctl__names__help_commands] )) ||
_eruptionctl__names__help_commands() {
    local commands; commands=(
'list:List slot names' \
'set:Set the name of a single profile slot' \
'set-all:Set all the profile slot names at once' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl names help commands' commands "$@"
}
(( $+functions[_eruptionctl__names__help__help_commands] )) ||
_eruptionctl__names__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names help help commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__help_commands] )) ||
_eruptionctl__profiles__help_commands() {
    local commands; commands=(
'list:List all available profiles' \
'info:Show information about a specific profile' \
'edit:Edit a profile' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl profiles help commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__help__help_commands] )) ||
_eruptionctl__profiles__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles help help commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help_commands] )) ||
_eruptionctl__rules__help_commands() {
    local commands; commands=(
'list:List all available rules' \
'add:Create a new rule' \
'remove:Remove an existing rule by its index' \
'enable:Mark an existing rule as enabled' \
'disable:Mark an existing rule as disabled' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl rules help commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__help_commands] )) ||
_eruptionctl__rules__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help help commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__help_commands] )) ||
_eruptionctl__scripts__help_commands() {
    local commands; commands=(
'list:List all available Lua effects scripts' \
'info:Show information about a specific Lua script' \
'edit:Edit a Lua script file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl scripts help commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__help__help_commands] )) ||
_eruptionctl__scripts__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts help help commands' commands "$@"
}
(( $+functions[_eruptionctl__status__help_commands] )) ||
_eruptionctl__status__help_commands() {
    local commands; commands=(
'profile:Shows the currently active profile' \
'slot:Shows the currently active slot' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl status help commands' commands "$@"
}
(( $+functions[_eruptionctl__status__help__help_commands] )) ||
_eruptionctl__status__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl status help help commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__help_commands] )) ||
_eruptionctl__switch__help_commands() {
    local commands; commands=(
'profile:Switch profiles' \
'slot:Switch slots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl switch help commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__help__help_commands] )) ||
_eruptionctl__switch__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl switch help help commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__help__image_commands] )) ||
_eruptionctl__effects__config__help__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config help image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__config__image_commands] )) ||
_eruptionctl__effects__config__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects config image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__help__image_commands] )) ||
_eruptionctl__effects__disable__help__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable help image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__disable__image_commands] )) ||
_eruptionctl__effects__disable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects disable image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__help__image_commands] )) ||
_eruptionctl__effects__enable__help__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable help image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__enable__image_commands] )) ||
_eruptionctl__effects__enable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects enable image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__config__image_commands] )) ||
_eruptionctl__effects__help__config__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help config image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__disable__image_commands] )) ||
_eruptionctl__effects__help__disable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help disable image commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__enable__image_commands] )) ||
_eruptionctl__effects__help__enable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help enable image commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__config__image_commands] )) ||
_eruptionctl__help__effects__config__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects config image commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__disable__image_commands] )) ||
_eruptionctl__help__effects__disable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects disable image commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__enable__image_commands] )) ||
_eruptionctl__help__effects__enable__image_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects enable image commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__import_commands] )) ||
_eruptionctl__color-schemes__help__import_commands() {
    local commands; commands=(
'pywal:Import an existing Pywal color scheme' \
    )
    _describe -t commands 'eruptionctl color-schemes help import commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__import_commands] )) ||
_eruptionctl__color-schemes__import_commands() {
    local commands; commands=(
'pywal:Import an existing Pywal color scheme' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl color-schemes import commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes__import_commands] )) ||
_eruptionctl__help__color-schemes__import_commands() {
    local commands; commands=(
'pywal:Import an existing Pywal color scheme' \
    )
    _describe -t commands 'eruptionctl help color-schemes import commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__info_commands] )) ||
_eruptionctl__devices__help__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help info commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__info_commands] )) ||
_eruptionctl__devices__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices info commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__info_commands] )) ||
_eruptionctl__help__devices__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices info commands' commands "$@"
}
(( $+functions[_eruptionctl__help__profiles__info_commands] )) ||
_eruptionctl__help__profiles__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help profiles info commands' commands "$@"
}
(( $+functions[_eruptionctl__help__scripts__info_commands] )) ||
_eruptionctl__help__scripts__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help scripts info commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__help__info_commands] )) ||
_eruptionctl__profiles__help__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles help info commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__info_commands] )) ||
_eruptionctl__profiles__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles info commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__help__info_commands] )) ||
_eruptionctl__scripts__help__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts help info commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__info_commands] )) ||
_eruptionctl__scripts__info_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts info commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__list_commands] )) ||
_eruptionctl__color-schemes__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes help list commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__list_commands] )) ||
_eruptionctl__color-schemes__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes list commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__list_commands] )) ||
_eruptionctl__devices__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help list commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__list_commands] )) ||
_eruptionctl__devices__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes__list_commands] )) ||
_eruptionctl__help__color-schemes__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help color-schemes list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__list_commands] )) ||
_eruptionctl__help__devices__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__names__list_commands] )) ||
_eruptionctl__help__names__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help names list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__profiles__list_commands] )) ||
_eruptionctl__help__profiles__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help profiles list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules__list_commands] )) ||
_eruptionctl__help__rules__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help rules list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__scripts__list_commands] )) ||
_eruptionctl__help__scripts__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help scripts list commands' commands "$@"
}
(( $+functions[_eruptionctl__names__help__list_commands] )) ||
_eruptionctl__names__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names help list commands' commands "$@"
}
(( $+functions[_eruptionctl__names__list_commands] )) ||
_eruptionctl__names__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names list commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__help__list_commands] )) ||
_eruptionctl__profiles__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles help list commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles__list_commands] )) ||
_eruptionctl__profiles__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl profiles list commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__list_commands] )) ||
_eruptionctl__rules__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help list commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__list_commands] )) ||
_eruptionctl__rules__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules list commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__help__list_commands] )) ||
_eruptionctl__scripts__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts help list commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts__list_commands] )) ||
_eruptionctl__scripts__list_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl scripts list commands' commands "$@"
}
(( $+functions[_eruptionctl__help__names_commands] )) ||
_eruptionctl__help__names_commands() {
    local commands; commands=(
'list:List slot names' \
'set:Set the name of a single profile slot' \
'set-all:Set all the profile slot names at once' \
    )
    _describe -t commands 'eruptionctl help names commands' commands "$@"
}
(( $+functions[_eruptionctl__names_commands] )) ||
_eruptionctl__names_commands() {
    local commands; commands=(
'list:List slot names' \
'set:Set the name of a single profile slot' \
'set-all:Set all the profile slot names at once' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl names commands' commands "$@"
}
(( $+functions[_eruptionctl__help__param_commands] )) ||
_eruptionctl__help__param_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help param commands' commands "$@"
}
(( $+functions[_eruptionctl__param_commands] )) ||
_eruptionctl__param_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl param commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__profile_commands] )) ||
_eruptionctl__devices__help__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help profile commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__profile_commands] )) ||
_eruptionctl__devices__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices profile commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__profile_commands] )) ||
_eruptionctl__help__devices__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices profile commands' commands "$@"
}
(( $+functions[_eruptionctl__help__status__profile_commands] )) ||
_eruptionctl__help__status__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help status profile commands' commands "$@"
}
(( $+functions[_eruptionctl__help__switch__profile_commands] )) ||
_eruptionctl__help__switch__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help switch profile commands' commands "$@"
}
(( $+functions[_eruptionctl__status__help__profile_commands] )) ||
_eruptionctl__status__help__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl status help profile commands' commands "$@"
}
(( $+functions[_eruptionctl__status__profile_commands] )) ||
_eruptionctl__status__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl status profile commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__help__profile_commands] )) ||
_eruptionctl__switch__help__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl switch help profile commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__profile_commands] )) ||
_eruptionctl__switch__profile_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl switch profile commands' commands "$@"
}
(( $+functions[_eruptionctl__help__profiles_commands] )) ||
_eruptionctl__help__profiles_commands() {
    local commands; commands=(
'list:List all available profiles' \
'info:Show information about a specific profile' \
'edit:Edit a profile' \
    )
    _describe -t commands 'eruptionctl help profiles commands' commands "$@"
}
(( $+functions[_eruptionctl__profiles_commands] )) ||
_eruptionctl__profiles_commands() {
    local commands; commands=(
'list:List all available profiles' \
'info:Show information about a specific profile' \
'edit:Edit a profile' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl profiles commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__import__pywal_commands] )) ||
_eruptionctl__color-schemes__help__import__pywal_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes help import pywal commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__import__help__pywal_commands] )) ||
_eruptionctl__color-schemes__import__help__pywal_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes import help pywal commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__import__pywal_commands] )) ||
_eruptionctl__color-schemes__import__pywal_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes import pywal commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes__import__pywal_commands] )) ||
_eruptionctl__help__color-schemes__import__pywal_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help color-schemes import pywal commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__rate_commands] )) ||
_eruptionctl__devices__help__rate_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help rate commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__rate_commands] )) ||
_eruptionctl__devices__rate_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices rate commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__rate_commands] )) ||
_eruptionctl__help__devices__rate_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices rate commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__help__remove_commands] )) ||
_eruptionctl__color-schemes__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes help remove commands' commands "$@"
}
(( $+functions[_eruptionctl__color-schemes__remove_commands] )) ||
_eruptionctl__color-schemes__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl color-schemes remove commands' commands "$@"
}
(( $+functions[_eruptionctl__help__color-schemes__remove_commands] )) ||
_eruptionctl__help__color-schemes__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help color-schemes remove commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules__remove_commands] )) ||
_eruptionctl__help__rules__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help rules remove commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__help__remove_commands] )) ||
_eruptionctl__rules__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules help remove commands' commands "$@"
}
(( $+functions[_eruptionctl__rules__remove_commands] )) ||
_eruptionctl__rules__remove_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl rules remove commands' commands "$@"
}
(( $+functions[_eruptionctl__help__rules_commands] )) ||
_eruptionctl__help__rules_commands() {
    local commands; commands=(
'list:List all available rules' \
'add:Create a new rule' \
'remove:Remove an existing rule by its index' \
'enable:Mark an existing rule as enabled' \
'disable:Mark an existing rule as disabled' \
    )
    _describe -t commands 'eruptionctl help rules commands' commands "$@"
}
(( $+functions[_eruptionctl__rules_commands] )) ||
_eruptionctl__rules_commands() {
    local commands; commands=(
'list:List all available rules' \
'add:Create a new rule' \
'remove:Remove an existing rule by its index' \
'enable:Mark an existing rule as enabled' \
'disable:Mark an existing rule as disabled' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl rules commands' commands "$@"
}
(( $+functions[_eruptionctl__help__scripts_commands] )) ||
_eruptionctl__help__scripts_commands() {
    local commands; commands=(
'list:List all available Lua effects scripts' \
'info:Show information about a specific Lua script' \
'edit:Edit a Lua script file' \
    )
    _describe -t commands 'eruptionctl help scripts commands' commands "$@"
}
(( $+functions[_eruptionctl__scripts_commands] )) ||
_eruptionctl__scripts_commands() {
    local commands; commands=(
'list:List all available Lua effects scripts' \
'info:Show information about a specific Lua script' \
'edit:Edit a Lua script file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl scripts commands' commands "$@"
}
(( $+functions[_eruptionctl__help__names__set_commands] )) ||
_eruptionctl__help__names__set_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help names set commands' commands "$@"
}
(( $+functions[_eruptionctl__names__help__set_commands] )) ||
_eruptionctl__names__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names help set commands' commands "$@"
}
(( $+functions[_eruptionctl__names__set_commands] )) ||
_eruptionctl__names__set_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names set commands' commands "$@"
}
(( $+functions[_eruptionctl__help__names__set-all_commands] )) ||
_eruptionctl__help__names__set-all_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help names set-all commands' commands "$@"
}
(( $+functions[_eruptionctl__names__help__set-all_commands] )) ||
_eruptionctl__names__help__set-all_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names help set-all commands' commands "$@"
}
(( $+functions[_eruptionctl__names__set-all_commands] )) ||
_eruptionctl__names__set-all_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl names set-all commands' commands "$@"
}
(( $+functions[_eruptionctl__help__status__slot_commands] )) ||
_eruptionctl__help__status__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help status slot commands' commands "$@"
}
(( $+functions[_eruptionctl__help__switch__slot_commands] )) ||
_eruptionctl__help__switch__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help switch slot commands' commands "$@"
}
(( $+functions[_eruptionctl__status__help__slot_commands] )) ||
_eruptionctl__status__help__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl status help slot commands' commands "$@"
}
(( $+functions[_eruptionctl__status__slot_commands] )) ||
_eruptionctl__status__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl status slot commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__help__slot_commands] )) ||
_eruptionctl__switch__help__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl switch help slot commands' commands "$@"
}
(( $+functions[_eruptionctl__switch__slot_commands] )) ||
_eruptionctl__switch__slot_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl switch slot commands' commands "$@"
}
(( $+functions[_eruptionctl__config__help__soundfx_commands] )) ||
_eruptionctl__config__help__soundfx_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl config help soundfx commands' commands "$@"
}
(( $+functions[_eruptionctl__config__soundfx_commands] )) ||
_eruptionctl__config__soundfx_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl config soundfx commands' commands "$@"
}
(( $+functions[_eruptionctl__help__config__soundfx_commands] )) ||
_eruptionctl__help__config__soundfx_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help config soundfx commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__help__status_commands] )) ||
_eruptionctl__devices__help__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices help status commands' commands "$@"
}
(( $+functions[_eruptionctl__devices__status_commands] )) ||
_eruptionctl__devices__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl devices status commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__help__status_commands] )) ||
_eruptionctl__effects__help__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects help status commands' commands "$@"
}
(( $+functions[_eruptionctl__effects__status_commands] )) ||
_eruptionctl__effects__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl effects status commands' commands "$@"
}
(( $+functions[_eruptionctl__help__devices__status_commands] )) ||
_eruptionctl__help__devices__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help devices status commands' commands "$@"
}
(( $+functions[_eruptionctl__help__effects__status_commands] )) ||
_eruptionctl__help__effects__status_commands() {
    local commands; commands=()
    _describe -t commands 'eruptionctl help effects status commands' commands "$@"
}
(( $+functions[_eruptionctl__help__status_commands] )) ||
_eruptionctl__help__status_commands() {
    local commands; commands=(
'profile:Shows the currently active profile' \
'slot:Shows the currently active slot' \
    )
    _describe -t commands 'eruptionctl help status commands' commands "$@"
}
(( $+functions[_eruptionctl__status_commands] )) ||
_eruptionctl__status_commands() {
    local commands; commands=(
'profile:Shows the currently active profile' \
'slot:Shows the currently active slot' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl status commands' commands "$@"
}
(( $+functions[_eruptionctl__help__switch_commands] )) ||
_eruptionctl__help__switch_commands() {
    local commands; commands=(
'profile:Switch profiles' \
'slot:Switch slots' \
    )
    _describe -t commands 'eruptionctl help switch commands' commands "$@"
}
(( $+functions[_eruptionctl__switch_commands] )) ||
_eruptionctl__switch_commands() {
    local commands; commands=(
'profile:Switch profiles' \
'slot:Switch slots' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'eruptionctl switch commands' commands "$@"
}

if [ "$funcstack[1]" = "_eruptionctl" ]; then
    _eruptionctl "$@"
else
    compdef _eruptionctl eruptionctl
fi
