#compdef vrc-get

autoload -U is-at-least

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

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

    local context curcontext="$curcontext" state line
    _arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get_commands" \
"*::: :->vrc-get" \
&& ret=0
    case $state in
    (vrc-get)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-command-$line[1]:"
        case $line[1] in
            (install)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--prerelease[Include prerelease]' \
'-n[Install package by display name instead of name]' \
'--name[Install package by display name instead of name]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::id -- id of Package:_default' \
'::VERSION -- Version of package. if not specified, latest version will be used:_default' \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'*::names -- Name of Packages to remove:_default' \
&& ret=0
;;
(reinstall)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
'*::names -- Name of Packages to reinstall:_default' \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(outdated)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--json-format=[With this option, output is printed in json format]:JSON_FORMAT:_default' \
'--prerelease[Include prerelease]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(upgrade)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--prerelease[Include prerelease]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::name -- Name of Package:_default' \
'::VERSION -- Version of package. if not specified, latest version will be used:_default' \
&& ret=0
;;
(downgrade)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--prerelease[Include prerelease]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':name -- Name of Package:_default' \
':VERSION -- Version of package:_default' \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'*::QUERY -- Name of Package:_default' \
&& ret=0
;;
(repo)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get__repo_commands" \
"*::: :->repo" \
&& ret=0

    case $state in
    (repo)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-repo-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'*-H+[Headers]:HEADER:_default' \
'*--header=[Headers]:HEADER:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':path_or_url -- URL of Package:_default' \
'::name -- Name of Package:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'--id[Find repository to remove by id]' \
'--url[Find repository to remove by url]' \
'--name[Find repository to remove by name]' \
'--path[Find repository to remove by local path]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':finder -- id, url, name, or path of repository:_default' \
&& ret=0
;;
(cleanup)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(packages)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':name_or_url:_default' \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
'-y[skip confirm]' \
'--yes[skip confirm]' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':repositories_file:_default' \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__repo__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-repo-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
;;
(cleanup)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(packages)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(user-package)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get__user-package_commands" \
"*::: :->user-package" \
&& ret=0

    case $state in
    (user-package)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-user-package-command-$line[1]:"
        case $line[1] in
            (list)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(add)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':path -- Path to package:_default' \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':path -- Path to package:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__user-package__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-user-package-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
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(info)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get__info_commands" \
"*::: :->info" \
&& ret=0

    case $state in
    (info)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-info-command-$line[1]:"
        case $line[1] in
            (project)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--json-format=[Output json format]:JSON_FORMAT:_default' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(package)
_arguments "${_arguments_options[@]}" : \
'--json-format=[Output json format]:JSON_FORMAT:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
':package:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__info__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-info-help-command-$line[1]:"
        case $line[1] in
            (project)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(package)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get__migrate_commands" \
"*::: :->migrate" \
&& ret=0

    case $state in
    (migrate)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-migrate-command-$line[1]:"
        case $line[1] in
            (unity2022)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--unity=[Path to unity 2022 executable]:UNITY:_files' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(vpm)
_arguments "${_arguments_options[@]}" : \
'-p+[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--project=[Path to project dir. by default CWD or parents of CWD will be used]:PROJECT:_default' \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__migrate__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-migrate-help-command-$line[1]:"
        case $line[1] in
            (unity2022)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vpm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(cache)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_vrc-get__cache_commands" \
"*::: :->cache" \
&& ret=0

    case $state in
    (cache)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-cache-command-$line[1]:"
        case $line[1] in
            (clear)
_arguments "${_arguments_options[@]}" : \
'--offline[do not connect to remote servers, use local caches only. implicitly --no-update]' \
'--no-update[do not update local repository cache]' \
'-h[Print help]' \
'--help[Print help]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__cache__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-cache-help-command-$line[1]:"
        case $line[1] in
            (clear)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(vcc)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'*::args:_default' \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'-h[Print help]' \
'--help[Print help]' \
'::shell:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-command-$line[1]:"
        case $line[1] in
            (install)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(remove)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(reinstall)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(outdated)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(upgrade)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(downgrade)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(search)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(repo)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help__repo_commands" \
"*::: :->repo" \
&& ret=0

    case $state in
    (repo)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-repo-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
;;
(cleanup)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(packages)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(import)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(export)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(user-package)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help__user-package_commands" \
"*::: :->user-package" \
&& ret=0

    case $state in
    (user-package)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-user-package-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
;;
        esac
    ;;
esac
;;
(info)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help__info_commands" \
"*::: :->info" \
&& ret=0

    case $state in
    (info)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-info-command-$line[1]:"
        case $line[1] in
            (project)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(package)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(migrate)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help__migrate_commands" \
"*::: :->migrate" \
&& ret=0

    case $state in
    (migrate)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-migrate-command-$line[1]:"
        case $line[1] in
            (unity2022)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vpm)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(cache)
_arguments "${_arguments_options[@]}" : \
":: :_vrc-get__help__cache_commands" \
"*::: :->cache" \
&& ret=0

    case $state in
    (cache)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:vrc-get-help-cache-command-$line[1]:"
        case $line[1] in
            (clear)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(vcc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_vrc-get_commands] )) ||
_vrc-get_commands() {
    local commands; commands=(
'install:Adds package to unity project' \
'resolve:(re)installs all locked packages' \
'remove:Remove package from Unity project' \
'reinstall:Reinstall specified packages' \
'update:Update local repository cache' \
'outdated:Show list of outdated packages' \
'upgrade:Upgrade specified package or all packages to latest or specified version' \
'downgrade:Downgrade the specified package specified version' \
'search:Search package by the query' \
'repo:Commands around repositories' \
'user-package:Commands around user packages' \
'info:Shows information for other program' \
'migrate:Migrate Unity Project' \
'cache:Commands about cache control' \
'vcc:' \
'completion:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get commands' commands "$@"
}
(( $+functions[_vrc-get__cache_commands] )) ||
_vrc-get__cache_commands() {
    local commands; commands=(
'clear:Cleanup package cache' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get cache commands' commands "$@"
}
(( $+functions[_vrc-get__cache__clear_commands] )) ||
_vrc-get__cache__clear_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get cache clear commands' commands "$@"
}
(( $+functions[_vrc-get__cache__help_commands] )) ||
_vrc-get__cache__help_commands() {
    local commands; commands=(
'clear:Cleanup package cache' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get cache help commands' commands "$@"
}
(( $+functions[_vrc-get__cache__help__clear_commands] )) ||
_vrc-get__cache__help__clear_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get cache help clear commands' commands "$@"
}
(( $+functions[_vrc-get__cache__help__help_commands] )) ||
_vrc-get__cache__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get cache help help commands' commands "$@"
}
(( $+functions[_vrc-get__completion_commands] )) ||
_vrc-get__completion_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get completion commands' commands "$@"
}
(( $+functions[_vrc-get__downgrade_commands] )) ||
_vrc-get__downgrade_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get downgrade commands' commands "$@"
}
(( $+functions[_vrc-get__help_commands] )) ||
_vrc-get__help_commands() {
    local commands; commands=(
'install:Adds package to unity project' \
'resolve:(re)installs all locked packages' \
'remove:Remove package from Unity project' \
'reinstall:Reinstall specified packages' \
'update:Update local repository cache' \
'outdated:Show list of outdated packages' \
'upgrade:Upgrade specified package or all packages to latest or specified version' \
'downgrade:Downgrade the specified package specified version' \
'search:Search package by the query' \
'repo:Commands around repositories' \
'user-package:Commands around user packages' \
'info:Shows information for other program' \
'migrate:Migrate Unity Project' \
'cache:Commands about cache control' \
'vcc:' \
'completion:' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get help commands' commands "$@"
}
(( $+functions[_vrc-get__help__cache_commands] )) ||
_vrc-get__help__cache_commands() {
    local commands; commands=(
'clear:Cleanup package cache' \
    )
    _describe -t commands 'vrc-get help cache commands' commands "$@"
}
(( $+functions[_vrc-get__help__cache__clear_commands] )) ||
_vrc-get__help__cache__clear_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help cache clear commands' commands "$@"
}
(( $+functions[_vrc-get__help__completion_commands] )) ||
_vrc-get__help__completion_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help completion commands' commands "$@"
}
(( $+functions[_vrc-get__help__downgrade_commands] )) ||
_vrc-get__help__downgrade_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help downgrade commands' commands "$@"
}
(( $+functions[_vrc-get__help__help_commands] )) ||
_vrc-get__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help help commands' commands "$@"
}
(( $+functions[_vrc-get__help__info_commands] )) ||
_vrc-get__help__info_commands() {
    local commands; commands=(
'project:Show project information' \
'package:Show project information' \
    )
    _describe -t commands 'vrc-get help info commands' commands "$@"
}
(( $+functions[_vrc-get__help__info__package_commands] )) ||
_vrc-get__help__info__package_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help info package commands' commands "$@"
}
(( $+functions[_vrc-get__help__info__project_commands] )) ||
_vrc-get__help__info__project_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help info project commands' commands "$@"
}
(( $+functions[_vrc-get__help__install_commands] )) ||
_vrc-get__help__install_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help install commands' commands "$@"
}
(( $+functions[_vrc-get__help__migrate_commands] )) ||
_vrc-get__help__migrate_commands() {
    local commands; commands=(
'unity2022:Migrate your project to Unity 2022' \
'vpm:Migrate your legacy (unitypackage) VRCSDK project to VPM project' \
    )
    _describe -t commands 'vrc-get help migrate commands' commands "$@"
}
(( $+functions[_vrc-get__help__migrate__unity2022_commands] )) ||
_vrc-get__help__migrate__unity2022_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help migrate unity2022 commands' commands "$@"
}
(( $+functions[_vrc-get__help__migrate__vpm_commands] )) ||
_vrc-get__help__migrate__vpm_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help migrate vpm commands' commands "$@"
}
(( $+functions[_vrc-get__help__outdated_commands] )) ||
_vrc-get__help__outdated_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help outdated commands' commands "$@"
}
(( $+functions[_vrc-get__help__reinstall_commands] )) ||
_vrc-get__help__reinstall_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help reinstall commands' commands "$@"
}
(( $+functions[_vrc-get__help__remove_commands] )) ||
_vrc-get__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help remove commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo_commands] )) ||
_vrc-get__help__repo_commands() {
    local commands; commands=(
'list:List all repositories' \
'add:Add remote or local repository' \
'remove:Remove repository with specified url, path or name' \
'cleanup:Cleanup repositories in Repos directory' \
'packages:List packages in specified repository' \
'import:Import repository list file' \
'export:Export user repository list file' \
    )
    _describe -t commands 'vrc-get help repo commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__add_commands] )) ||
_vrc-get__help__repo__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo add commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__cleanup_commands] )) ||
_vrc-get__help__repo__cleanup_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo cleanup commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__export_commands] )) ||
_vrc-get__help__repo__export_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo export commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__import_commands] )) ||
_vrc-get__help__repo__import_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo import commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__list_commands] )) ||
_vrc-get__help__repo__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo list commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__packages_commands] )) ||
_vrc-get__help__repo__packages_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo packages commands' commands "$@"
}
(( $+functions[_vrc-get__help__repo__remove_commands] )) ||
_vrc-get__help__repo__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help repo remove commands' commands "$@"
}
(( $+functions[_vrc-get__help__resolve_commands] )) ||
_vrc-get__help__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help resolve commands' commands "$@"
}
(( $+functions[_vrc-get__help__search_commands] )) ||
_vrc-get__help__search_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help search commands' commands "$@"
}
(( $+functions[_vrc-get__help__update_commands] )) ||
_vrc-get__help__update_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help update commands' commands "$@"
}
(( $+functions[_vrc-get__help__upgrade_commands] )) ||
_vrc-get__help__upgrade_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help upgrade commands' commands "$@"
}
(( $+functions[_vrc-get__help__user-package_commands] )) ||
_vrc-get__help__user-package_commands() {
    local commands; commands=(
'list:List all user packages' \
'add:Add user package' \
'remove:Remove user package' \
    )
    _describe -t commands 'vrc-get help user-package commands' commands "$@"
}
(( $+functions[_vrc-get__help__user-package__add_commands] )) ||
_vrc-get__help__user-package__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help user-package add commands' commands "$@"
}
(( $+functions[_vrc-get__help__user-package__list_commands] )) ||
_vrc-get__help__user-package__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help user-package list commands' commands "$@"
}
(( $+functions[_vrc-get__help__user-package__remove_commands] )) ||
_vrc-get__help__user-package__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help user-package remove commands' commands "$@"
}
(( $+functions[_vrc-get__help__vcc_commands] )) ||
_vrc-get__help__vcc_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get help vcc commands' commands "$@"
}
(( $+functions[_vrc-get__info_commands] )) ||
_vrc-get__info_commands() {
    local commands; commands=(
'project:Show project information' \
'package:Show project information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get info commands' commands "$@"
}
(( $+functions[_vrc-get__info__help_commands] )) ||
_vrc-get__info__help_commands() {
    local commands; commands=(
'project:Show project information' \
'package:Show project information' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get info help commands' commands "$@"
}
(( $+functions[_vrc-get__info__help__help_commands] )) ||
_vrc-get__info__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get info help help commands' commands "$@"
}
(( $+functions[_vrc-get__info__help__package_commands] )) ||
_vrc-get__info__help__package_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get info help package commands' commands "$@"
}
(( $+functions[_vrc-get__info__help__project_commands] )) ||
_vrc-get__info__help__project_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get info help project commands' commands "$@"
}
(( $+functions[_vrc-get__info__package_commands] )) ||
_vrc-get__info__package_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get info package commands' commands "$@"
}
(( $+functions[_vrc-get__info__project_commands] )) ||
_vrc-get__info__project_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get info project commands' commands "$@"
}
(( $+functions[_vrc-get__install_commands] )) ||
_vrc-get__install_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get install commands' commands "$@"
}
(( $+functions[_vrc-get__migrate_commands] )) ||
_vrc-get__migrate_commands() {
    local commands; commands=(
'unity2022:Migrate your project to Unity 2022' \
'vpm:Migrate your legacy (unitypackage) VRCSDK project to VPM project' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get migrate commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__help_commands] )) ||
_vrc-get__migrate__help_commands() {
    local commands; commands=(
'unity2022:Migrate your project to Unity 2022' \
'vpm:Migrate your legacy (unitypackage) VRCSDK project to VPM project' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get migrate help commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__help__help_commands] )) ||
_vrc-get__migrate__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get migrate help help commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__help__unity2022_commands] )) ||
_vrc-get__migrate__help__unity2022_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get migrate help unity2022 commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__help__vpm_commands] )) ||
_vrc-get__migrate__help__vpm_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get migrate help vpm commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__unity2022_commands] )) ||
_vrc-get__migrate__unity2022_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get migrate unity2022 commands' commands "$@"
}
(( $+functions[_vrc-get__migrate__vpm_commands] )) ||
_vrc-get__migrate__vpm_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get migrate vpm commands' commands "$@"
}
(( $+functions[_vrc-get__outdated_commands] )) ||
_vrc-get__outdated_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get outdated commands' commands "$@"
}
(( $+functions[_vrc-get__reinstall_commands] )) ||
_vrc-get__reinstall_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get reinstall commands' commands "$@"
}
(( $+functions[_vrc-get__remove_commands] )) ||
_vrc-get__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get remove commands' commands "$@"
}
(( $+functions[_vrc-get__repo_commands] )) ||
_vrc-get__repo_commands() {
    local commands; commands=(
'list:List all repositories' \
'add:Add remote or local repository' \
'remove:Remove repository with specified url, path or name' \
'cleanup:Cleanup repositories in Repos directory' \
'packages:List packages in specified repository' \
'import:Import repository list file' \
'export:Export user repository list file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get repo commands' commands "$@"
}
(( $+functions[_vrc-get__repo__add_commands] )) ||
_vrc-get__repo__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo add commands' commands "$@"
}
(( $+functions[_vrc-get__repo__cleanup_commands] )) ||
_vrc-get__repo__cleanup_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo cleanup commands' commands "$@"
}
(( $+functions[_vrc-get__repo__export_commands] )) ||
_vrc-get__repo__export_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo export commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help_commands] )) ||
_vrc-get__repo__help_commands() {
    local commands; commands=(
'list:List all repositories' \
'add:Add remote or local repository' \
'remove:Remove repository with specified url, path or name' \
'cleanup:Cleanup repositories in Repos directory' \
'packages:List packages in specified repository' \
'import:Import repository list file' \
'export:Export user repository list file' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get repo help commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__add_commands] )) ||
_vrc-get__repo__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help add commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__cleanup_commands] )) ||
_vrc-get__repo__help__cleanup_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help cleanup commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__export_commands] )) ||
_vrc-get__repo__help__export_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help export commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__help_commands] )) ||
_vrc-get__repo__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help help commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__import_commands] )) ||
_vrc-get__repo__help__import_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help import commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__list_commands] )) ||
_vrc-get__repo__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help list commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__packages_commands] )) ||
_vrc-get__repo__help__packages_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help packages commands' commands "$@"
}
(( $+functions[_vrc-get__repo__help__remove_commands] )) ||
_vrc-get__repo__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo help remove commands' commands "$@"
}
(( $+functions[_vrc-get__repo__import_commands] )) ||
_vrc-get__repo__import_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo import commands' commands "$@"
}
(( $+functions[_vrc-get__repo__list_commands] )) ||
_vrc-get__repo__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo list commands' commands "$@"
}
(( $+functions[_vrc-get__repo__packages_commands] )) ||
_vrc-get__repo__packages_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo packages commands' commands "$@"
}
(( $+functions[_vrc-get__repo__remove_commands] )) ||
_vrc-get__repo__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get repo remove commands' commands "$@"
}
(( $+functions[_vrc-get__resolve_commands] )) ||
_vrc-get__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get resolve commands' commands "$@"
}
(( $+functions[_vrc-get__search_commands] )) ||
_vrc-get__search_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get search commands' commands "$@"
}
(( $+functions[_vrc-get__update_commands] )) ||
_vrc-get__update_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get update commands' commands "$@"
}
(( $+functions[_vrc-get__upgrade_commands] )) ||
_vrc-get__upgrade_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get upgrade commands' commands "$@"
}
(( $+functions[_vrc-get__user-package_commands] )) ||
_vrc-get__user-package_commands() {
    local commands; commands=(
'list:List all user packages' \
'add:Add user package' \
'remove:Remove user package' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get user-package commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__add_commands] )) ||
_vrc-get__user-package__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package add commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__help_commands] )) ||
_vrc-get__user-package__help_commands() {
    local commands; commands=(
'list:List all user packages' \
'add:Add user package' \
'remove:Remove user package' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'vrc-get user-package help commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__help__add_commands] )) ||
_vrc-get__user-package__help__add_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package help add commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__help__help_commands] )) ||
_vrc-get__user-package__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package help help commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__help__list_commands] )) ||
_vrc-get__user-package__help__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package help list commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__help__remove_commands] )) ||
_vrc-get__user-package__help__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package help remove commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__list_commands] )) ||
_vrc-get__user-package__list_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package list commands' commands "$@"
}
(( $+functions[_vrc-get__user-package__remove_commands] )) ||
_vrc-get__user-package__remove_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get user-package remove commands' commands "$@"
}
(( $+functions[_vrc-get__vcc_commands] )) ||
_vrc-get__vcc_commands() {
    local commands; commands=()
    _describe -t commands 'vrc-get vcc commands' commands "$@"
}

if [ "$funcstack[1]" = "_vrc-get" ]; then
    _vrc-get "$@"
else
    compdef _vrc-get vrc-get
fi
