#compdef hyprshell

autoload -U is-at-least

_hyprshell() {
    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+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_hyprshell_commands" \
"*::: :->hyprshell" \
&& ret=0
    case $state in
    (hyprshell)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-command-$line[1]:"
        case $line[1] in
            (run)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_hyprshell__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-config-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" : \
'*-f+[Force overwrite of a config file, can be used multiple times]' \
'*--force=[Force overwrite of a config file, can be used multiple times]' \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'--no-systemd[dont generate systemd unit file]' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(explain)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-config-help-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(explain)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_hyprshell__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-debug-command-$line[1]:"
        case $line[1] in
            (list-icons)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(list-desktop-files)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(check-class)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'::class -- The class (from `hyprctl clients -j | jq -e ".\[\] | {title, class}"`) of a window to find an icon for:_default' \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'-a[Show all matches, not just x ones like configured in config]' \
'--all[Show all matches, not just x ones like configured in config]' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
':text -- text entered into the search box:_default' \
&& ret=0
;;
(default-applications)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_hyprshell__debug__default-applications_commands" \
"*::: :->default-applications" \
&& ret=0

    case $state in
    (default-applications)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-debug-default-applications-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
':mime -- for example `image/png` of `x-scheme-handler/https`:_default' \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
':mime -- for example `image/png` of `x-scheme-handler/https`:_default' \
':value -- Name of a desktop file (with .desktop extension):_default' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
':mime -- for example `image/png` of `x-scheme-handler/https`:_default' \
':value -- Name of a desktop file (with .desktop extension):_default' \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'-a[Show all mimes instead of ony the ones used by hyprshell]' \
'--all[Show all mimes instead of ony the ones used by hyprshell]' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__debug__default-applications__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-debug-default-applications-help-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__debug__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-debug-help-command-$line[1]:"
        case $line[1] in
            (list-icons)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list-desktop-files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check-class)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(default-applications)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__debug__help__default-applications_commands" \
"*::: :->default-applications" \
&& ret=0

    case $state in
    (default-applications)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-debug-help-default-applications-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(data)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
":: :_hyprshell__data_commands" \
"*::: :->data" \
&& ret=0

    case $state in
    (data)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-data-command-$line[1]:"
        case $line[1] in
            (launch-history)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
'::run_cache_weeks -- weeks to include in the history, defaults to set config value:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__data__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-data-help-command-$line[1]:"
        case $line[1] in
            (launch-history)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(socat)
_arguments "${_arguments_options[@]}" : \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
':json -- JSON to send to the socket:_default' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'-p+[BASE Path for completion without filename Bash Default\: \`/usr/share/bash-completion/completions\` Fish Default\: \`/usr/share/fish/vendor_completions.d\` Zsh Default\: \`/usr/share/zsh/site-functions\`]:BASE_PATH:_files' \
'--base-path=[BASE Path for completion without filename Bash Default\: \`/usr/share/bash-completion/completions\` Fish Default\: \`/usr/share/fish/vendor_completions.d\` Zsh Default\: \`/usr/share/zsh/site-functions\`]:BASE_PATH:_files' \
'-c+[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'--config-file=[Path to config \[default\: \`\$XDG_CONFIG_HOME/hyprshell/config.ron\`\], allowed file types\: ron, toml, json5]:CONFIG_FILE:_files' \
'-s+[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--css-file=[Path to css \[default\: \`\$XDG_CONFIG_HOME/hyprshell/styles.css\`\]]:CSS_FILE:_files' \
'--data-dir=[Path to data directory \[default\: \`\$XDG_DATA_HOME/hyprshell\`\]]:DATA_DIR:_files' \
'--cache-dir=[Path to cache directory \[default\: \`\$XDG_CACHE_HOME/hyprshell\`\]]:CACHE_DIR:_files' \
'-d[Delete the generated completion files]' \
'--delete[Delete the generated completion files]' \
'*-v[Increase the verbosity level (-v\: debug, -vv\: trace)]' \
'-q[Turn off all output]' \
'--quiet[Turn off all output]' \
'-h[Print help]' \
'--help[Print help]' \
'::shell -- Shell to generate completion for (if not set completions for all shells will be generated):_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-help-config-command-$line[1]:"
        case $line[1] in
            (generate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(explain)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(debug)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__help__debug_commands" \
"*::: :->debug" \
&& ret=0

    case $state in
    (debug)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-help-debug-command-$line[1]:"
        case $line[1] in
            (list-icons)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list-desktop-files)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check-class)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(default-applications)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__help__debug__default-applications_commands" \
"*::: :->default-applications" \
&& ret=0

    case $state in
    (default-applications)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-help-debug-default-applications-command-$line[1]:"
        case $line[1] in
            (get)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(set)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(list)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(data)
_arguments "${_arguments_options[@]}" : \
":: :_hyprshell__help__data_commands" \
"*::: :->data" \
&& ret=0

    case $state in
    (data)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:hyprshell-help-data-command-$line[1]:"
        case $line[1] in
            (launch-history)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(socat)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_hyprshell_commands] )) ||
_hyprshell_commands() {
    local commands; commands=(
'run:Run the hyprshell daemon' \
'config:Generate or check the config file' \
'debug:Debug command to debug finding icons for the GUI, desktop files, etc' \
'data:Show data, like launch history, etc' \
'socat:Send json to the hyprshell socket' \
'completions:Generate completions for shells' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell commands' commands "$@"
}
(( $+functions[_hyprshell__completions_commands] )) ||
_hyprshell__completions_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell completions commands' commands "$@"
}
(( $+functions[_hyprshell__config_commands] )) ||
_hyprshell__config_commands() {
    local commands; commands=(
'generate:Generate a default config file' \
'check:Check the config file for errors' \
'explain:Explain how to use the program based on the config' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell config commands' commands "$@"
}
(( $+functions[_hyprshell__config__check_commands] )) ||
_hyprshell__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config check commands' commands "$@"
}
(( $+functions[_hyprshell__config__explain_commands] )) ||
_hyprshell__config__explain_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config explain commands' commands "$@"
}
(( $+functions[_hyprshell__config__generate_commands] )) ||
_hyprshell__config__generate_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config generate commands' commands "$@"
}
(( $+functions[_hyprshell__config__help_commands] )) ||
_hyprshell__config__help_commands() {
    local commands; commands=(
'generate:Generate a default config file' \
'check:Check the config file for errors' \
'explain:Explain how to use the program based on the config' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell config help commands' commands "$@"
}
(( $+functions[_hyprshell__config__help__check_commands] )) ||
_hyprshell__config__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config help check commands' commands "$@"
}
(( $+functions[_hyprshell__config__help__explain_commands] )) ||
_hyprshell__config__help__explain_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config help explain commands' commands "$@"
}
(( $+functions[_hyprshell__config__help__generate_commands] )) ||
_hyprshell__config__help__generate_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config help generate commands' commands "$@"
}
(( $+functions[_hyprshell__config__help__help_commands] )) ||
_hyprshell__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell config help help commands' commands "$@"
}
(( $+functions[_hyprshell__data_commands] )) ||
_hyprshell__data_commands() {
    local commands; commands=(
'launch-history:Show the history of launched applications' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell data commands' commands "$@"
}
(( $+functions[_hyprshell__data__help_commands] )) ||
_hyprshell__data__help_commands() {
    local commands; commands=(
'launch-history:Show the history of launched applications' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell data help commands' commands "$@"
}
(( $+functions[_hyprshell__data__help__help_commands] )) ||
_hyprshell__data__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell data help help commands' commands "$@"
}
(( $+functions[_hyprshell__data__help__launch-history_commands] )) ||
_hyprshell__data__help__launch-history_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell data help launch-history commands' commands "$@"
}
(( $+functions[_hyprshell__data__launch-history_commands] )) ||
_hyprshell__data__launch-history_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell data launch-history commands' commands "$@"
}
(( $+functions[_hyprshell__debug_commands] )) ||
_hyprshell__debug_commands() {
    local commands; commands=(
'list-icons:List all icons in the theme' \
'list-desktop-files:List all desktop files' \
'check-class:Search for an icon with a window class' \
'search:simulate search in launcher and display search insights' \
'default-applications:get or set default applications for different mime types' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell debug commands' commands "$@"
}
(( $+functions[_hyprshell__debug__check-class_commands] )) ||
_hyprshell__debug__check-class_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug check-class commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications_commands] )) ||
_hyprshell__debug__default-applications_commands() {
    local commands; commands=(
'get:Get default app for mimetype' \
'set:Sets a default app for a mimetype (if one already exists, it is replaced)' \
'add:Add an association app for mimetype (if one already exists, this one is placed before)' \
'list:List default apps for all mimetypes' \
'check:Check if all entries in all mimetype files point to valid desktop files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell debug default-applications commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__add_commands] )) ||
_hyprshell__debug__default-applications__add_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications add commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__check_commands] )) ||
_hyprshell__debug__default-applications__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications check commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__get_commands] )) ||
_hyprshell__debug__default-applications__get_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications get commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help_commands] )) ||
_hyprshell__debug__default-applications__help_commands() {
    local commands; commands=(
'get:Get default app for mimetype' \
'set:Sets a default app for a mimetype (if one already exists, it is replaced)' \
'add:Add an association app for mimetype (if one already exists, this one is placed before)' \
'list:List default apps for all mimetypes' \
'check:Check if all entries in all mimetype files point to valid desktop files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell debug default-applications help commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__add_commands] )) ||
_hyprshell__debug__default-applications__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help add commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__check_commands] )) ||
_hyprshell__debug__default-applications__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help check commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__get_commands] )) ||
_hyprshell__debug__default-applications__help__get_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help get commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__help_commands] )) ||
_hyprshell__debug__default-applications__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help help commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__list_commands] )) ||
_hyprshell__debug__default-applications__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help list commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__help__set_commands] )) ||
_hyprshell__debug__default-applications__help__set_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications help set commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__list_commands] )) ||
_hyprshell__debug__default-applications__list_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications list commands' commands "$@"
}
(( $+functions[_hyprshell__debug__default-applications__set_commands] )) ||
_hyprshell__debug__default-applications__set_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug default-applications set commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help_commands] )) ||
_hyprshell__debug__help_commands() {
    local commands; commands=(
'list-icons:List all icons in the theme' \
'list-desktop-files:List all desktop files' \
'check-class:Search for an icon with a window class' \
'search:simulate search in launcher and display search insights' \
'default-applications:get or set default applications for different mime types' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell debug help commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__check-class_commands] )) ||
_hyprshell__debug__help__check-class_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help check-class commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications_commands] )) ||
_hyprshell__debug__help__default-applications_commands() {
    local commands; commands=(
'get:Get default app for mimetype' \
'set:Sets a default app for a mimetype (if one already exists, it is replaced)' \
'add:Add an association app for mimetype (if one already exists, this one is placed before)' \
'list:List default apps for all mimetypes' \
'check:Check if all entries in all mimetype files point to valid desktop files' \
    )
    _describe -t commands 'hyprshell debug help default-applications commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications__add_commands] )) ||
_hyprshell__debug__help__default-applications__add_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help default-applications add commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications__check_commands] )) ||
_hyprshell__debug__help__default-applications__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help default-applications check commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications__get_commands] )) ||
_hyprshell__debug__help__default-applications__get_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help default-applications get commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications__list_commands] )) ||
_hyprshell__debug__help__default-applications__list_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help default-applications list commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__default-applications__set_commands] )) ||
_hyprshell__debug__help__default-applications__set_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help default-applications set commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__help_commands] )) ||
_hyprshell__debug__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help help commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__list-desktop-files_commands] )) ||
_hyprshell__debug__help__list-desktop-files_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help list-desktop-files commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__list-icons_commands] )) ||
_hyprshell__debug__help__list-icons_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help list-icons commands' commands "$@"
}
(( $+functions[_hyprshell__debug__help__search_commands] )) ||
_hyprshell__debug__help__search_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug help search commands' commands "$@"
}
(( $+functions[_hyprshell__debug__list-desktop-files_commands] )) ||
_hyprshell__debug__list-desktop-files_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug list-desktop-files commands' commands "$@"
}
(( $+functions[_hyprshell__debug__list-icons_commands] )) ||
_hyprshell__debug__list-icons_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug list-icons commands' commands "$@"
}
(( $+functions[_hyprshell__debug__search_commands] )) ||
_hyprshell__debug__search_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell debug search commands' commands "$@"
}
(( $+functions[_hyprshell__help_commands] )) ||
_hyprshell__help_commands() {
    local commands; commands=(
'run:Run the hyprshell daemon' \
'config:Generate or check the config file' \
'debug:Debug command to debug finding icons for the GUI, desktop files, etc' \
'data:Show data, like launch history, etc' \
'socat:Send json to the hyprshell socket' \
'completions:Generate completions for shells' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'hyprshell help commands' commands "$@"
}
(( $+functions[_hyprshell__help__completions_commands] )) ||
_hyprshell__help__completions_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help completions commands' commands "$@"
}
(( $+functions[_hyprshell__help__config_commands] )) ||
_hyprshell__help__config_commands() {
    local commands; commands=(
'generate:Generate a default config file' \
'check:Check the config file for errors' \
'explain:Explain how to use the program based on the config' \
    )
    _describe -t commands 'hyprshell help config commands' commands "$@"
}
(( $+functions[_hyprshell__help__config__check_commands] )) ||
_hyprshell__help__config__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help config check commands' commands "$@"
}
(( $+functions[_hyprshell__help__config__explain_commands] )) ||
_hyprshell__help__config__explain_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help config explain commands' commands "$@"
}
(( $+functions[_hyprshell__help__config__generate_commands] )) ||
_hyprshell__help__config__generate_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help config generate commands' commands "$@"
}
(( $+functions[_hyprshell__help__data_commands] )) ||
_hyprshell__help__data_commands() {
    local commands; commands=(
'launch-history:Show the history of launched applications' \
    )
    _describe -t commands 'hyprshell help data commands' commands "$@"
}
(( $+functions[_hyprshell__help__data__launch-history_commands] )) ||
_hyprshell__help__data__launch-history_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help data launch-history commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug_commands] )) ||
_hyprshell__help__debug_commands() {
    local commands; commands=(
'list-icons:List all icons in the theme' \
'list-desktop-files:List all desktop files' \
'check-class:Search for an icon with a window class' \
'search:simulate search in launcher and display search insights' \
'default-applications:get or set default applications for different mime types' \
    )
    _describe -t commands 'hyprshell help debug commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__check-class_commands] )) ||
_hyprshell__help__debug__check-class_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug check-class commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications_commands] )) ||
_hyprshell__help__debug__default-applications_commands() {
    local commands; commands=(
'get:Get default app for mimetype' \
'set:Sets a default app for a mimetype (if one already exists, it is replaced)' \
'add:Add an association app for mimetype (if one already exists, this one is placed before)' \
'list:List default apps for all mimetypes' \
'check:Check if all entries in all mimetype files point to valid desktop files' \
    )
    _describe -t commands 'hyprshell help debug default-applications commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications__add_commands] )) ||
_hyprshell__help__debug__default-applications__add_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug default-applications add commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications__check_commands] )) ||
_hyprshell__help__debug__default-applications__check_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug default-applications check commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications__get_commands] )) ||
_hyprshell__help__debug__default-applications__get_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug default-applications get commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications__list_commands] )) ||
_hyprshell__help__debug__default-applications__list_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug default-applications list commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__default-applications__set_commands] )) ||
_hyprshell__help__debug__default-applications__set_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug default-applications set commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__list-desktop-files_commands] )) ||
_hyprshell__help__debug__list-desktop-files_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug list-desktop-files commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__list-icons_commands] )) ||
_hyprshell__help__debug__list-icons_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug list-icons commands' commands "$@"
}
(( $+functions[_hyprshell__help__debug__search_commands] )) ||
_hyprshell__help__debug__search_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help debug search commands' commands "$@"
}
(( $+functions[_hyprshell__help__help_commands] )) ||
_hyprshell__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help help commands' commands "$@"
}
(( $+functions[_hyprshell__help__run_commands] )) ||
_hyprshell__help__run_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help run commands' commands "$@"
}
(( $+functions[_hyprshell__help__socat_commands] )) ||
_hyprshell__help__socat_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell help socat commands' commands "$@"
}
(( $+functions[_hyprshell__run_commands] )) ||
_hyprshell__run_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell run commands' commands "$@"
}
(( $+functions[_hyprshell__socat_commands] )) ||
_hyprshell__socat_commands() {
    local commands; commands=()
    _describe -t commands 'hyprshell socat commands' commands "$@"
}

if [ "$funcstack[1]" = "_hyprshell" ]; then
    _hyprshell "$@"
else
    compdef _hyprshell hyprshell
fi
