#compdef bender

autoload -U is-at-least

_bender() {
    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[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_bender_commands" \
"*::: :->bender" \
&& ret=0
    case $state in
    (bender)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-command-$line[1]:"
        case $line[1] in
            (update)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'-f[forces fetch of git dependencies]' \
'--fetch[forces fetch of git dependencies]' \
'--no-checkout[Disables checkout of dependencies]' \
'--ignore-checkout-dir[Overwrites modified dependencies in \`checkout_dir\` if specified]' \
'--recursive[Update requested dependencies recursively, i.e., including their dependencies]' \
'()--new-only[Only resolve new dependencies, keeping all existing ones locked]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::dep -- Dependencies to update:_default' \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--checkout[Force check out of dependency]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::name -- Package names to get the path for:_default' \
&& ret=0
;;
(parents)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--targets[Print the passed targets to the dependency]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Package name to get the parents for:_default' \
&& ret=0
;;
(clone)
_arguments "${_arguments_options[@]}" : \
'-p+[Relative directory to clone PKG into]:PATH:_default' \
'--path=[Relative directory to clone PKG into]:PATH:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':name -- Package name to clone to a working directory:_default' \
&& ret=0
;;
(clean)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--all[Include Bender.lock in clean]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(packages)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'(--version --targets)-g[Print the dependencies for each package]' \
'(--version --targets)--graph[Print the dependencies for each package]' \
'-f[Do not group packages by topological rank]' \
'--flat[Do not group packages by topological rank]' \
'(--targets)--version[Print the version of each package]' \
'--targets[Print the targets available for each package]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(sources)
_arguments "${_arguments_options[@]}" : \
'*-t+[Filter sources by target]:TARGET:_default' \
'*--target=[Filter sources by target]:TARGET:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'-f[Flatten JSON struct]' \
'--flatten[Flatten JSON struct]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--raw[Exports the raw internal source tree]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':shell -- Shell completion script style:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(script)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_bender__subcmd__script_commands" \
"*::: :->script" \
&& ret=0

    case $state in
    (script)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-script-command-$line[1]:"
        case $line[1] in
            (flist)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--relative-path[Use relative paths]' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(flist-plus)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--relative-path[Use relative paths]' \
'--only-defines[Only output commands to define macros]' \
'--only-includes[Only output commands to define include directories]' \
'--only-sources[Only output commands to define source files]' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(vsim)
_arguments "${_arguments_options[@]}" : \
'*--vlog-args=[Pass arguments to vlog calls]:VLOG_ARGS:_default' \
'*--vcom-args=[Pass arguments to vcom calls]:VCOM_ARGS:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(vcs)
_arguments "${_arguments_options[@]}" : \
'*--vlogan-args=[Pass arguments to vlogan calls]:VLOGAN_ARGS:_default' \
'*--vhdlan-args=[Pass arguments to vhdlan calls]:VHDLAN_ARGS:_default' \
'--vlogan-bin=[Specify a \`vlogan\` command]:VLOGAN_BIN:_default' \
'--vhdlan-bin=[Specify a \`vhdlan\` command]:VHDLAN_BIN:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(verilator)
_arguments "${_arguments_options[@]}" : \
'*--vlt-args=[Pass arguments to verilator calls]:VLT_ARGS:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(synopsys)
_arguments "${_arguments_options[@]}" : \
'*--verilog-args=[Pass arguments to verilog compilation calls]:VERILOG_ARGS:_default' \
'*--vhdl-args=[Pass arguments to vhdl compilation calls]:VHDL_ARGS:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(formality)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(riviera)
_arguments "${_arguments_options[@]}" : \
'*--vlog-args=[Pass arguments to vlog calls]:VLOG_ARGS:_default' \
'*--vcom-args=[Pass arguments to vcom calls]:VCOM_ARGS:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(genus)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(vivado)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-simset[Do not change \`simset\` fileset]' \
'--only-defines[Only output commands to define macros]' \
'--only-includes[Only output commands to define include directories]' \
'--only-sources[Only output commands to define source files]' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(vivado-sim)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-simset[Do not change \`simset\` fileset]' \
'--only-defines[Only output commands to define macros]' \
'--only-includes[Only output commands to define include directories]' \
'--only-sources[Only output commands to define source files]' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(precision)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
'--template=[Path to a file containing the tera template string to be formatted]:TEMPLATE:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(template-json)
_arguments "${_arguments_options[@]}" : \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-D+[Pass an additional define to all source files]:DEFINE:_default' \
'*--define=[Pass an additional define to all source files]:DEFINE:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*-e+[Specify package to exclude from sources]:EXCLUDE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'--compilation-mode=[Choose compilation mode option]:COMPILATION_MODE:((separate\:"Compile each source file group separately"
common\:"Compile all source file groups together in a common compilation unit"))' \
'*--top=[Trim unreachable Verilog files via the given top-level module(s)]:TOP:_default' \
'--trim-incdirs=[Drop unused include directories from the generated script]:TRIM_INCDIRS:((auto\:"Drop iff \`--top\` is set"
always\:"Always drop unused directories"
never\:"Keep every declared directory"))' \
'--broken=[What to do with files slang reports parse errors on with no \`pragma protect\` envelope \[implicit default\: error when slang runs; no effect otherwise\]]:BROKEN:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'--encrypted=[What to do with IEEE-1735 encrypted files slang cannot fully parse \[implicit default\: keep when slang runs; no effect otherwise\]]:ENCRYPTED:((error\:"Abort the run if any file of this class is found"
keep\:"Tolerate these files and include them in the script"
drop\:"Tolerate these files but drop them from the script"))' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-default-target[Remove any default targets that may be added to the generated script]' \
'--source-annotations[Include source annotations in the generated script]' \
'-n[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--assume-rtl[Add the \`rtl\` target to any fileset without a target specification]' \
'--ignore-passed-targets[Ignore passed targets]' \
'--no-abort-on-error[Do not abort analysis/compilation on first caught error]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_bender__subcmd__script__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-script-help-command-$line[1]:"
        case $line[1] in
            (flist)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flist-plus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vsim)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vcs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(verilator)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(synopsys)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(formality)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(riviera)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(genus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vivado)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vivado-sim)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(precision)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template-json)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(checkout)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--force[Force update of dependencies in a custom checkout_dir. Please use carefully to avoid losing work]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(vendor)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
":: :_bender__subcmd__vendor_commands" \
"*::: :->vendor" \
&& ret=0

    case $state in
    (vendor)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-vendor-command-$line[1]:"
        case $line[1] in
            (diff)
_arguments "${_arguments_options[@]}" : \
'--err-on-diff=[Return error code 1 when a diff is encountered. (Optional) override the error message by providing a value]::ERR_ON_DIFF:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'-n[Do not apply patches when initializing dependencies]' \
'--no-patch[Do not apply patches when initializing dependencies]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
'-m+[The message to be associated with the format-patch]:MESSAGE:_default' \
'--message=[The message to be associated with the format-patch]:MESSAGE:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--plain[Generate a plain diff instead of a format-patch.]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_bender__subcmd__vendor__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-vendor-help-command-$line[1]:"
        case $line[1] in
            (diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(fusesoc)
_arguments "${_arguments_options[@]}" : \
'*--license=[Additional commented info (e.g. License) to add to the top of the YAML file]:LICENSE:_default' \
'--fuse-vendor=[Vendor string to add for generated \`.core\` files]:FUSE_VENDOR:_default' \
'--fuse-version=[Version string for the top package to add for generated \`.core\` file]:FUSE_VERSION:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--single[Only create a \`.core\` file for the top package, based directly on the \`Bender.yml.\`]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
'--working-dir=[Working directory to snapshot dependencies from]:WORKING_DIR:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--no-skip[Do not skip dependencies that are dirty]' \
'-c[Checkout the dependencies snapshotted into the lockfile]' \
'--checkout[Checkout the dependencies snapshotted into the lockfile]' \
'--force[Force update of dependencies in a custom checkout_dir. Please use carefully to avoid losing work]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(audit)
_arguments "${_arguments_options[@]}" : \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--only-update[Only show packages that can be updated]' \
'-f[Force fetch of git dependencies]' \
'--fetch[Force fetch of git dependencies]' \
'--ignore-url-conflict[Ignore URL conflicts when auditing]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
&& ret=0
;;
(pickle)
_arguments "${_arguments_options[@]}" : \
'-o+[The output file (defaults to stdout)]:OUTPUT:_default' \
'--output=[The output file (defaults to stdout)]:OUTPUT:_default' \
'*-t+[Only include sources that match the given target]:TARGET:_default' \
'*--target=[Only include sources that match the given target]:TARGET:_default' \
'*-p+[Specify package to show sources for]:PACKAGE:_default' \
'*--package=[Specify package to show sources for]:PACKAGE:_default' \
'*--exclude=[Specify package to exclude from sources]:EXCLUDE:_default' \
'*-I+[Additional include directory, which are not part of the manifest]:INCLUDE_DIR:_default' \
'*-D+[Additional preprocessor definition, which are not part of the manifest]:DEFINE:_default' \
'*--top=[One or more top-level modules used to trim unreachable parsed files]:TOP:_default' \
'--prefix=[A prefix to add to all names (modules, packages, interfaces)]:PREFIX:_default' \
'--suffix=[A suffix to add to all names (modules, packages, interfaces)]:SUFFIX:_default' \
'*--exclude-rename=[Names to exclude from renaming (modules, packages, interfaces)]:EXCLUDE_RENAME:_default' \
'-d+[Sets a custom root working directory]:DIR:_default' \
'--dir=[Sets a custom root working directory]:DIR:_default' \
'--git-throttle=[Sets the maximum number of concurrent git operations \[default\: 4\]]:GIT_THROTTLE:_default' \
'*--suppress=[Suppresses specific warnings. Use \`all\` to suppress all warnings]:SUPPRESS:_default' \
'--keep-excluded-incdirs[Keep export include directories from excluded packages]' \
'--no-deps[Exclude all dependencies, i.e. only top level or specified package(s)]' \
'--expand-macros[Expand macros in the output]' \
'--strip-comments[Strip comments from the output]' \
'--squash-newlines[Squash newlines in the output]' \
'--ast-json[Dump the syntax trees as JSON instead of the source code]' \
'--local[Disables fetching of remotes (e.g. for air-gapped computers)]' \
'--no-progress[Disable progress bars]' \
'*-v[Increase logging verbosity. Disables progress bars]' \
'*--verbose[Increase logging verbosity. Disables progress bars]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'*::files -- Additional source files to pickle, which are not part of the manifest:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_bender__subcmd__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-help-command-$line[1]:"
        case $line[1] in
            (update)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(path)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(parents)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clone)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(clean)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(packages)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(sources)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(completion)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(script)
_arguments "${_arguments_options[@]}" : \
":: :_bender__subcmd__help__subcmd__script_commands" \
"*::: :->script" \
&& ret=0

    case $state in
    (script)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-help-script-command-$line[1]:"
        case $line[1] in
            (flist)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(flist-plus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vsim)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vcs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(verilator)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(synopsys)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(formality)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(riviera)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(genus)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vivado)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vivado-sim)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(precision)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(template-json)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(checkout)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(vendor)
_arguments "${_arguments_options[@]}" : \
":: :_bender__subcmd__help__subcmd__vendor_commands" \
"*::: :->vendor" \
&& ret=0

    case $state in
    (vendor)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:bender-help-vendor-command-$line[1]:"
        case $line[1] in
            (diff)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(patch)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(fusesoc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(snapshot)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(audit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(pickle)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_bender_commands] )) ||
_bender_commands() {
    local commands; commands=(
'update:Update the dependencies' \
'path:Get the path to a dependency' \
'parents:List packages calling this dependency' \
'clone:Clone dependency to a working directory' \
'clean:Clean all bender related dependencies' \
'packages:Information about the dependency graph' \
'sources:Emit the source file manifest for the package' \
'completion:Emit shell completion script' \
'config:Emit the configuration' \
'script:Emit tool scripts for the package' \
'checkout:Checkout all dependencies referenced in the Lock file' \
'vendor:Copy source code from upstream external repositories into this repository' \
'fusesoc:Creates a FuseSoC \`.core\` file for all dependencies where none is present' \
'init:Initialize a Bender package' \
'snapshot:Snapshot the cloned IPs from the working directory into the Bender.lock file' \
'audit:Get information about version conflicts and possible updates' \
'pickle:Pickle files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender commands' commands "$@"
}
(( $+functions[_bender__subcmd__audit_commands] )) ||
_bender__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'bender audit commands' commands "$@"
}
(( $+functions[_bender__subcmd__checkout_commands] )) ||
_bender__subcmd__checkout_commands() {
    local commands; commands=()
    _describe -t commands 'bender checkout commands' commands "$@"
}
(( $+functions[_bender__subcmd__clean_commands] )) ||
_bender__subcmd__clean_commands() {
    local commands; commands=()
    _describe -t commands 'bender clean commands' commands "$@"
}
(( $+functions[_bender__subcmd__clone_commands] )) ||
_bender__subcmd__clone_commands() {
    local commands; commands=()
    _describe -t commands 'bender clone commands' commands "$@"
}
(( $+functions[_bender__subcmd__completion_commands] )) ||
_bender__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'bender completion commands' commands "$@"
}
(( $+functions[_bender__subcmd__config_commands] )) ||
_bender__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'bender config commands' commands "$@"
}
(( $+functions[_bender__subcmd__fusesoc_commands] )) ||
_bender__subcmd__fusesoc_commands() {
    local commands; commands=()
    _describe -t commands 'bender fusesoc commands' commands "$@"
}
(( $+functions[_bender__subcmd__help_commands] )) ||
_bender__subcmd__help_commands() {
    local commands; commands=(
'update:Update the dependencies' \
'path:Get the path to a dependency' \
'parents:List packages calling this dependency' \
'clone:Clone dependency to a working directory' \
'clean:Clean all bender related dependencies' \
'packages:Information about the dependency graph' \
'sources:Emit the source file manifest for the package' \
'completion:Emit shell completion script' \
'config:Emit the configuration' \
'script:Emit tool scripts for the package' \
'checkout:Checkout all dependencies referenced in the Lock file' \
'vendor:Copy source code from upstream external repositories into this repository' \
'fusesoc:Creates a FuseSoC \`.core\` file for all dependencies where none is present' \
'init:Initialize a Bender package' \
'snapshot:Snapshot the cloned IPs from the working directory into the Bender.lock file' \
'audit:Get information about version conflicts and possible updates' \
'pickle:Pickle files' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender help commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__audit_commands] )) ||
_bender__subcmd__help__subcmd__audit_commands() {
    local commands; commands=()
    _describe -t commands 'bender help audit commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__checkout_commands] )) ||
_bender__subcmd__help__subcmd__checkout_commands() {
    local commands; commands=()
    _describe -t commands 'bender help checkout commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__clean_commands] )) ||
_bender__subcmd__help__subcmd__clean_commands() {
    local commands; commands=()
    _describe -t commands 'bender help clean commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__clone_commands] )) ||
_bender__subcmd__help__subcmd__clone_commands() {
    local commands; commands=()
    _describe -t commands 'bender help clone commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__completion_commands] )) ||
_bender__subcmd__help__subcmd__completion_commands() {
    local commands; commands=()
    _describe -t commands 'bender help completion commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__config_commands] )) ||
_bender__subcmd__help__subcmd__config_commands() {
    local commands; commands=()
    _describe -t commands 'bender help config commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__fusesoc_commands] )) ||
_bender__subcmd__help__subcmd__fusesoc_commands() {
    local commands; commands=()
    _describe -t commands 'bender help fusesoc commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__help_commands] )) ||
_bender__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'bender help help commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__init_commands] )) ||
_bender__subcmd__help__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'bender help init commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__packages_commands] )) ||
_bender__subcmd__help__subcmd__packages_commands() {
    local commands; commands=()
    _describe -t commands 'bender help packages commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__parents_commands] )) ||
_bender__subcmd__help__subcmd__parents_commands() {
    local commands; commands=()
    _describe -t commands 'bender help parents commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__path_commands] )) ||
_bender__subcmd__help__subcmd__path_commands() {
    local commands; commands=()
    _describe -t commands 'bender help path commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__pickle_commands] )) ||
_bender__subcmd__help__subcmd__pickle_commands() {
    local commands; commands=()
    _describe -t commands 'bender help pickle commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script_commands] )) ||
_bender__subcmd__help__subcmd__script_commands() {
    local commands; commands=(
'flist:A general file list' \
'flist-plus:An extended file list with include dirs and defines' \
'vsim:ModelSim/QuestaSim script' \
'vcs:Synopsys VCS script' \
'verilator:Verilator script' \
'synopsys:Synopsys EDA tool script' \
'formality:Synopsys Formality script' \
'riviera:Riviera script' \
'genus:Cadence Genus script' \
'vivado:Xilinx Vivado synthesis script' \
'vivado-sim:Xilinx Vivado simulation script' \
'precision:Mentor Graphics Precision script' \
'template:Custom template script' \
'template-json:JSON output' \
    )
    _describe -t commands 'bender help script commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__flist_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__flist_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script flist commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__flist-plus_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__flist-plus_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script flist-plus commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__formality_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__formality_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script formality commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__genus_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__genus_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script genus commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__precision_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__precision_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script precision commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__riviera_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__riviera_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script riviera commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__synopsys_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__synopsys_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script synopsys commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__template_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__template_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script template commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__template-json_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__template-json_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script template-json commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__vcs_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__vcs_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script vcs commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__verilator_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__verilator_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script verilator commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__vivado_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__vivado_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script vivado commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__vivado-sim_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__vivado-sim_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script vivado-sim commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__script__subcmd__vsim_commands] )) ||
_bender__subcmd__help__subcmd__script__subcmd__vsim_commands() {
    local commands; commands=()
    _describe -t commands 'bender help script vsim commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__snapshot_commands] )) ||
_bender__subcmd__help__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'bender help snapshot commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__sources_commands] )) ||
_bender__subcmd__help__subcmd__sources_commands() {
    local commands; commands=()
    _describe -t commands 'bender help sources commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__update_commands] )) ||
_bender__subcmd__help__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'bender help update commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__vendor_commands] )) ||
_bender__subcmd__help__subcmd__vendor_commands() {
    local commands; commands=(
'diff:Display a diff of the local tree and the upstream tree with patches applied' \
'init:(Re-)initialize the external dependencies' \
'patch:Generate a patch file from staged local changes' \
    )
    _describe -t commands 'bender help vendor commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__vendor__subcmd__diff_commands] )) ||
_bender__subcmd__help__subcmd__vendor__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'bender help vendor diff commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__vendor__subcmd__init_commands] )) ||
_bender__subcmd__help__subcmd__vendor__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'bender help vendor init commands' commands "$@"
}
(( $+functions[_bender__subcmd__help__subcmd__vendor__subcmd__patch_commands] )) ||
_bender__subcmd__help__subcmd__vendor__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'bender help vendor patch commands' commands "$@"
}
(( $+functions[_bender__subcmd__init_commands] )) ||
_bender__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'bender init commands' commands "$@"
}
(( $+functions[_bender__subcmd__packages_commands] )) ||
_bender__subcmd__packages_commands() {
    local commands; commands=()
    _describe -t commands 'bender packages commands' commands "$@"
}
(( $+functions[_bender__subcmd__parents_commands] )) ||
_bender__subcmd__parents_commands() {
    local commands; commands=()
    _describe -t commands 'bender parents commands' commands "$@"
}
(( $+functions[_bender__subcmd__path_commands] )) ||
_bender__subcmd__path_commands() {
    local commands; commands=()
    _describe -t commands 'bender path commands' commands "$@"
}
(( $+functions[_bender__subcmd__pickle_commands] )) ||
_bender__subcmd__pickle_commands() {
    local commands; commands=()
    _describe -t commands 'bender pickle commands' commands "$@"
}
(( $+functions[_bender__subcmd__script_commands] )) ||
_bender__subcmd__script_commands() {
    local commands; commands=(
'flist:A general file list' \
'flist-plus:An extended file list with include dirs and defines' \
'vsim:ModelSim/QuestaSim script' \
'vcs:Synopsys VCS script' \
'verilator:Verilator script' \
'synopsys:Synopsys EDA tool script' \
'formality:Synopsys Formality script' \
'riviera:Riviera script' \
'genus:Cadence Genus script' \
'vivado:Xilinx Vivado synthesis script' \
'vivado-sim:Xilinx Vivado simulation script' \
'precision:Mentor Graphics Precision script' \
'template:Custom template script' \
'template-json:JSON output' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender script commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__flist_commands] )) ||
_bender__subcmd__script__subcmd__flist_commands() {
    local commands; commands=()
    _describe -t commands 'bender script flist commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__flist-plus_commands] )) ||
_bender__subcmd__script__subcmd__flist-plus_commands() {
    local commands; commands=()
    _describe -t commands 'bender script flist-plus commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__formality_commands] )) ||
_bender__subcmd__script__subcmd__formality_commands() {
    local commands; commands=()
    _describe -t commands 'bender script formality commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__genus_commands] )) ||
_bender__subcmd__script__subcmd__genus_commands() {
    local commands; commands=()
    _describe -t commands 'bender script genus commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help_commands] )) ||
_bender__subcmd__script__subcmd__help_commands() {
    local commands; commands=(
'flist:A general file list' \
'flist-plus:An extended file list with include dirs and defines' \
'vsim:ModelSim/QuestaSim script' \
'vcs:Synopsys VCS script' \
'verilator:Verilator script' \
'synopsys:Synopsys EDA tool script' \
'formality:Synopsys Formality script' \
'riviera:Riviera script' \
'genus:Cadence Genus script' \
'vivado:Xilinx Vivado synthesis script' \
'vivado-sim:Xilinx Vivado simulation script' \
'precision:Mentor Graphics Precision script' \
'template:Custom template script' \
'template-json:JSON output' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender script help commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__flist_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__flist_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help flist commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__flist-plus_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__flist-plus_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help flist-plus commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__formality_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__formality_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help formality commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__genus_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__genus_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help genus commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__help_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help help commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__precision_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__precision_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help precision commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__riviera_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__riviera_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help riviera commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__synopsys_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__synopsys_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help synopsys commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__template_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__template_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help template commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__template-json_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__template-json_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help template-json commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__vcs_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__vcs_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help vcs commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__verilator_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__verilator_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help verilator commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__vivado_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__vivado_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help vivado commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__vivado-sim_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__vivado-sim_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help vivado-sim commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__help__subcmd__vsim_commands] )) ||
_bender__subcmd__script__subcmd__help__subcmd__vsim_commands() {
    local commands; commands=()
    _describe -t commands 'bender script help vsim commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__precision_commands] )) ||
_bender__subcmd__script__subcmd__precision_commands() {
    local commands; commands=()
    _describe -t commands 'bender script precision commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__riviera_commands] )) ||
_bender__subcmd__script__subcmd__riviera_commands() {
    local commands; commands=()
    _describe -t commands 'bender script riviera commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__synopsys_commands] )) ||
_bender__subcmd__script__subcmd__synopsys_commands() {
    local commands; commands=()
    _describe -t commands 'bender script synopsys commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__template_commands] )) ||
_bender__subcmd__script__subcmd__template_commands() {
    local commands; commands=()
    _describe -t commands 'bender script template commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__template-json_commands] )) ||
_bender__subcmd__script__subcmd__template-json_commands() {
    local commands; commands=()
    _describe -t commands 'bender script template-json commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__vcs_commands] )) ||
_bender__subcmd__script__subcmd__vcs_commands() {
    local commands; commands=()
    _describe -t commands 'bender script vcs commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__verilator_commands] )) ||
_bender__subcmd__script__subcmd__verilator_commands() {
    local commands; commands=()
    _describe -t commands 'bender script verilator commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__vivado_commands] )) ||
_bender__subcmd__script__subcmd__vivado_commands() {
    local commands; commands=()
    _describe -t commands 'bender script vivado commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__vivado-sim_commands] )) ||
_bender__subcmd__script__subcmd__vivado-sim_commands() {
    local commands; commands=()
    _describe -t commands 'bender script vivado-sim commands' commands "$@"
}
(( $+functions[_bender__subcmd__script__subcmd__vsim_commands] )) ||
_bender__subcmd__script__subcmd__vsim_commands() {
    local commands; commands=()
    _describe -t commands 'bender script vsim commands' commands "$@"
}
(( $+functions[_bender__subcmd__snapshot_commands] )) ||
_bender__subcmd__snapshot_commands() {
    local commands; commands=()
    _describe -t commands 'bender snapshot commands' commands "$@"
}
(( $+functions[_bender__subcmd__sources_commands] )) ||
_bender__subcmd__sources_commands() {
    local commands; commands=()
    _describe -t commands 'bender sources commands' commands "$@"
}
(( $+functions[_bender__subcmd__update_commands] )) ||
_bender__subcmd__update_commands() {
    local commands; commands=()
    _describe -t commands 'bender update commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor_commands] )) ||
_bender__subcmd__vendor_commands() {
    local commands; commands=(
'diff:Display a diff of the local tree and the upstream tree with patches applied' \
'init:(Re-)initialize the external dependencies' \
'patch:Generate a patch file from staged local changes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender vendor commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__diff_commands] )) ||
_bender__subcmd__vendor__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor diff commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__help_commands] )) ||
_bender__subcmd__vendor__subcmd__help_commands() {
    local commands; commands=(
'diff:Display a diff of the local tree and the upstream tree with patches applied' \
'init:(Re-)initialize the external dependencies' \
'patch:Generate a patch file from staged local changes' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'bender vendor help commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__help__subcmd__diff_commands] )) ||
_bender__subcmd__vendor__subcmd__help__subcmd__diff_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor help diff commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__help__subcmd__help_commands] )) ||
_bender__subcmd__vendor__subcmd__help__subcmd__help_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor help help commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__help__subcmd__init_commands] )) ||
_bender__subcmd__vendor__subcmd__help__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor help init commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__help__subcmd__patch_commands] )) ||
_bender__subcmd__vendor__subcmd__help__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor help patch commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__init_commands] )) ||
_bender__subcmd__vendor__subcmd__init_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor init commands' commands "$@"
}
(( $+functions[_bender__subcmd__vendor__subcmd__patch_commands] )) ||
_bender__subcmd__vendor__subcmd__patch_commands() {
    local commands; commands=()
    _describe -t commands 'bender vendor patch commands' commands "$@"
}

if [ "$funcstack[1]" = "_bender" ]; then
    _bender "$@"
else
    compdef _bender bender
fi
