[
  "#compdef forge",
  "",
  "autoload -U is-at-least",
  "",
  "function _forge_zsh_completions() {",
  "    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[@]}" \",
  "        '--completions[Generate a completion script for a specific shell.]:CHOICE:(sh bash fish zsh)' \",
  "        '--log-level[Sets the minimum log level for a command.]:CHOICE:(all trace debug info warning error fatal none)' \",
  "        '-h[Show the help documentation for a command.]' \",
  "        '--help[Show the help documentation for a command.]' \",
  "        '--wizard[Start wizard mode for a command.]' \",
  "        '--version[Show the version of the application.]' \",
  "        ":: :_forge_commands" \",
  "        "*::: :->forge" \",
  "        && ret=0",
  "    case $state in",
  "        (forge)",
  "        words=($line[1] "${words[@]}")",
  "        (( CURRENT += 1 ))",
  "        curcontext="${curcontext%:*:*}:forge-command-$line[1]:"",
  "        case $line[1] in",
  "            (cache)",
  "            _arguments "${_arguments_options[@]}" \",
  "                '--completions[Generate a completion script for a specific shell.]:CHOICE:(sh bash fish zsh)' \",
  "                '--log-level[Sets the minimum log level for a command.]:CHOICE:(all trace debug info warning error fatal none)' \",
  "                '-h[Show the help documentation for a command.]' \",
  "                '--help[Show the help documentation for a command.]' \",
  "                '--wizard[Start wizard mode for a command.]' \",
  "                '--version[Show the version of the application.]' \",
  "                '--verbose[Output in verbose mode]' \",
  "                ":: :_forge__cache_commands" \",
  "                "*::: :->cache" \",
  "                && ret=0",
  "            case $state in",
  "                (cache)",
  "                words=($line[1] "${words[@]}")",
  "                (( CURRENT += 1 ))",
  "                curcontext="${curcontext%:*:*}:forge-cache-command-$line[1]:"",
  "                case $line[1] in",
  "                    (clean)",
  "                    _arguments "${_arguments_options[@]}" \",
  "                        '--completions[Generate a completion script for a specific shell.]:CHOICE:(sh bash fish zsh)' \",
  "                        '--log-level[Sets the minimum log level for a command.]:CHOICE:(all trace debug info warning error fatal none)' \",
  "                        '-h[Show the help documentation for a command.]' \",
  "                        '--help[Show the help documentation for a command.]' \",
  "                        '--wizard[Start wizard mode for a command.]' \",
  "                        '--version[Show the version of the application.]' \",
  "                        && ret=0",
  "                    ;;",
  "                    (ls)",
  "                    _arguments "${_arguments_options[@]}" \",
  "                        '--completions[Generate a completion script for a specific shell.]:CHOICE:(sh bash fish zsh)' \",
  "                        '--log-level[Sets the minimum log level for a command.]:CHOICE:(all trace debug info warning error fatal none)' \",
  "                        '-h[Show the help documentation for a command.]' \",
  "                        '--help[Show the help documentation for a command.]' \",
  "                        '--wizard[Start wizard mode for a command.]' \",
  "                        '--version[Show the version of the application.]' \",
  "                        && ret=0",
  "                    ;;",
  "                esac",
  "                ;;",
  "            esac",
  "            ;;",
  "        esac",
  "        ;;",
  "    esac",
  "}",
  "",
  "(( $+functions[_forge_commands] )) ||",
  "_forge_commands() {",
  "    local commands; commands=(
        'cache:The cache command does cache things' \
    )",
  "    _describe -t commands 'forge commands' commands "$@"",
  "}",
  "(( $+functions[_forge__cache_commands] )) ||",
  "_forge__cache_commands() {",
  "    local commands; commands=(
        'clean:' \
        'ls:' \
    )",
  "    _describe -t commands 'forge cache commands' commands "$@"",
  "}",
  "(( $+functions[_forge__cache__clean_commands] )) ||",
  "_forge__cache__clean_commands() {",
  "    local commands; commands=()",
  "    _describe -t commands 'forge cache clean commands' commands "$@"",
  "}",
  "(( $+functions[_forge__cache__ls_commands] )) ||",
  "_forge__cache__ls_commands() {",
  "    local commands; commands=()",
  "    _describe -t commands 'forge cache ls commands' commands "$@"",
  "}",
  "",
  "if [ "$funcstack[1]" = "_forge_zsh_completions" ]; then",
  "    _forge_zsh_completions "$@"",
  "else",
  "    compdef _forge_zsh_completions forge",
  "fi",
]