#compdef sprocket

autoload -U is-at-least

_sprocket() {
    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[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_sprocket_commands" \
"*::: :->sprocket" \
&& ret=0
    case $state in
    (sprocket)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-command-$line[1]:"
        case $line[1] in
            (analyzer)
_arguments "${_arguments_options[@]}" : \
'*-e+[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'*--except=[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'--stdio[Use stdin and stdout for the RPC transport]' \
'--lint[Whether or not to enable lint rules]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(check)
_arguments "${_arguments_options[@]}" : \
'*-e+[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'*--except=[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'*--filter-lint-tag=[Excludes a lint tag from running if it would have been included otherwise]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'*--only-lint-tag=[Includes a lint tag for running]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'(--only-lint-tag)-a[Enable all lint rules. This includes additional rules outside the default set]' \
'(--only-lint-tag)--all-lint-rules[Enable all lint rules. This includes additional rules outside the default set]' \
'--deny-warnings[Causes the command to fail if warnings were reported]' \
'--deny-notes[Causes the command to fail if notes were reported]' \
'--suppress-imports[Suppress diagnostics from documents that were not explicitly provided in the sources list (i.e., were imported from a provided source)]' \
'--show-remote-diagnostics[Show diagnostics for remote documents]' \
'(--deny-notes)--hide-notes[Hide diagnostics with \`note\` severity]' \
'(--deny-warnings)--hide-warnings[Hide diagnostics with \`warning\` or \`note\` severity]' \
'(--no-baseline)--generate-baseline[Generate a baseline file from current diagnostics and exit]' \
'--no-baseline[Ignore the baseline file for this run]' \
'-l[Enable lint checks in addition to validation errors]' \
'--lint[Enable lint checks in addition to validation errors]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'*::sources -- A set of source documents as files, directories, or URLs:_default' \
&& ret=0
;;
(completions)
_arguments "${_arguments_options[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':shell -- The shell to generate completions for:(bash elvish fish powershell zsh)' \
&& ret=0
;;
(config)
_arguments "${_arguments_options[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_sprocket__config_commands" \
"*::: :->config" \
&& ret=0

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-config-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'--unredact[Unredacts any redacted secrets in the configuration]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__config__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-config-help-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(explain)
_arguments "${_arguments_options[@]}" : \
'(--definitions)-t+[List all rules with the given tag]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'(--definitions)--tag=[List all rules with the given tag]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'-f+[The output format]:FORMAT:((default\:"The default, human-readable output"
json\:"Machine-readable JSON"))' \
'--format=[The output format]:FORMAT:((default\:"The default, human-readable output"
json\:"Machine-readable JSON"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'(-t --tag -f --format)--definitions[Display general WDL definitions]' \
'(--list-all-tags)--list-all-rules[Lists all rules and exits]' \
'(--list-all-rules)--list-all-tags[Lists all tags and exits]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::rule_name -- The name of the rule to explain:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
&& ret=0
;;
(format)
_arguments "${_arguments_options[@]}" : \
'-m+[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'(-t --with-tabs)-i+[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'(-t --with-tabs)--indentation-size=[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'--max-line-length=[The maximum line length (default is 90). 0 means do not use a maximum line length]:LENGTH:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'-t[Use tabs for indentation (default is spaces)]' \
'--with-tabs[Use tabs for indentation (default is spaces)]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_sprocket__format_commands" \
"*::: :->format" \
&& ret=0

    case $state in
    (format)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-format-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
'-m+[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'(-t --with-tabs)-i+[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'(-t --with-tabs)--indentation-size=[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'--max-line-length=[The maximum line length (default is 90). 0 means do not use a maximum line length]:LENGTH:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'-t[Use tabs for indentation (default is spaces)]' \
'--with-tabs[Use tabs for indentation (default is spaces)]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'*::sources -- Sources to format:_default' \
&& ret=0
;;
(view)
_arguments "${_arguments_options[@]}" : \
'-m+[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'(-t --with-tabs)-i+[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'(-t --with-tabs)--indentation-size=[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'--max-line-length=[The maximum line length (default is 90). 0 means do not use a maximum line length]:LENGTH:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'-t[Use tabs for indentation (default is spaces)]' \
'--with-tabs[Use tabs for indentation (default is spaces)]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':source -- Source to format:_default' \
&& ret=0
;;
(overwrite)
_arguments "${_arguments_options[@]}" : \
'-m+[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode for any emitted diagnostics]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'(-t --with-tabs)-i+[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'(-t --with-tabs)--indentation-size=[The number of spaces to use for indentation levels (default is 4)]:SIZE:_default' \
'--max-line-length=[The maximum line length (default is 90). 0 means do not use a maximum line length]:LENGTH:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'-t[Use tabs for indentation (default is spaces)]' \
'--with-tabs[Use tabs for indentation (default is spaces)]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'*::sources -- Sources to format:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__format__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-format-help-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(view)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(overwrite)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(inputs)
_arguments "${_arguments_options[@]}" : \
'-t+[The name of the task or workflow for which to generate inputs]:NAME:_default' \
'--target=[The name of the task or workflow for which to generate inputs]:NAME:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'--show-non-literals[Show inputs with non-literal default values]' \
'(--show-non-literals)--hide-defaults[Hide inputs with default values]' \
'--nested-inputs[Generate inputs for all tasks called in the workflow]' \
'--yaml[Output the template as a YAML file]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':source -- A source WDL document or URL:_default' \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" : \
'*-e+[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'*--except=[Excepts (ignores) an analysis or lint rule]:RULE:(CallInputKeyword CommandSectionIndentation ConciseInput ConsistentNewlines ContainerUri DeclarationName DenyGlobStar DeprecatedObject DeprecatedPlaceholder DescriptionLength DocCommentTabs DocMetaStrings DoubleQuotes EmptyDocComment ExceptDirectiveValid ExpectedRuntimeKeys HereDocCommands ImportPlacement InputName KnownRules MatchingOutputMeta MetaDescription MetaSections OutputName ParameterDescription ParameterMetaMatched PascalCase RedundantNone RequirementsSection RuntimeSection SectionOrdering ShellCheck SnakeCase TodoComment UnnecessaryFunctionCall UnusedCall UnusedDeclaration UnusedDocComments UnusedImport UnusedInput UsingFallbackVersion)' \
'*--filter-lint-tag=[Excludes a lint tag from running if it would have been included otherwise]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'*--only-lint-tag=[Includes a lint tag for running]:TAG:(Clarity Completeness Correctness Deprecated Documentation Naming Portability Sorting Spacing SprocketCompatibility Style)' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'(--only-lint-tag)-a[Enable all lint rules. This includes additional rules outside the default set]' \
'(--only-lint-tag)--all-lint-rules[Enable all lint rules. This includes additional rules outside the default set]' \
'--deny-warnings[Causes the command to fail if warnings were reported]' \
'--deny-notes[Causes the command to fail if notes were reported]' \
'--suppress-imports[Suppress diagnostics from documents that were not explicitly provided in the sources list (i.e., were imported from a provided source)]' \
'--show-remote-diagnostics[Show diagnostics for remote documents]' \
'(--deny-notes)--hide-notes[Hide diagnostics with \`note\` severity]' \
'(--deny-warnings)--hide-warnings[Hide diagnostics with \`warning\` or \`note\` severity]' \
'(--no-baseline)--generate-baseline[Generate a baseline file from current diagnostics and exit]' \
'--no-baseline[Ignore the baseline file for this run]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'*::sources -- A set of source documents as files, directories, or URLs:_default' \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
'-t+[The name of the task or workflow to run]:NAME:_default' \
'--target=[The name of the task or workflow to run]:NAME:_default' \
'-o+[The output directory; defaults to \`./out\`]:OUTPUT_DIR:_files' \
'--output-dir=[The output directory; defaults to \`./out\`]:OUTPUT_DIR:_files' \
'--index-on=[The output name to index on]:OUTPUT_NAME:_default' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--azure-account-name=[The Azure Storage account name to use]:NAME:_default' \
'--azure-access-key=[The Azure Storage access key to use]:KEY:_default' \
'--aws-access-key-id=[The AWS Access Key ID to use; overrides configuration]:ID:_default' \
'--aws-secret-access-key=[The AWS Secret Access Key to use; overrides configuration]:KEY:_default' \
'--aws-default-region=[The default AWS region; overrides configuration]:REGION:_default' \
'--google-hmac-access-key=[The Google Cloud Storage HMAC access key to use; overrides configuration]:KEY:_default' \
'--google-hmac-secret=[The Google Cloud Storage HMAC secret to use; overrides configuration]:SECRET:_default' \
'--suffix=[Optional suffix to append to the run directory name]:SUFFIX:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'--no-call-cache[Disables the use of the call cache for this run]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
':source -- The WDL source file to run:_default' \
'*::inputs -- The inputs for the task or workflow:_default' \
&& ret=0
;;
(validate)
_arguments "${_arguments_options[@]}" : \
'-t+[The name of the task or workflow to validate inputs against]:NAME:_default' \
'--target=[The name of the task or workflow to validate inputs against]:NAME:_default' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':source -- The path or URL to a document containing the task or workflow to validate inputs against:_default' \
'*::inputs -- The inputs for the task or workflow:_default' \
&& ret=0
;;
(dev)
_arguments "${_arguments_options[@]}" : \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
":: :_sprocket__dev_commands" \
"*::: :->dev" \
&& ret=0

    case $state in
    (dev)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-dev-command-$line[1]:"
        case $line[1] in
            (doc)
_arguments "${_arguments_options[@]}" : \
'--index-page=[Path to a Markdown file to embed in the \`<output>/index.html\` file]:MARKDOWN FILE:_files' \
'--logo=[Path to an SVG logo to embed on each page]:SVG FILE:_files' \
'--homepage-url=[An optional link to the project'\''s homepage]:LINK TO HOMEPAGE:_default' \
'--github-url=[An optional link to the project'\''s GitHub repository]:LINK TO GITHUB:_default' \
'--alt-light-logo=[Path to an alternate light mode SVG logo to embed on each page]:SVG FILE:_files' \
'--output=[Output directory for the generated documentation. If not specified, the documentation will be generated in \`<workspace>/docs\`]:DIR:_files' \
'--html-head=[Path to an HTML file that should have its contents embedded in each HTML page, immediately before the closing \`<head>\` tag]:FILE:_files' \
'--html-body-open=[Path to an HTML file that should have its contents embedded in each HTML page, immediately after the opening \`<body>\` tag]:FILE:_files' \
'--html-body-close=[Path to an HTML file that should have its contents embedded in each HTML page, immediately before the closing \`<body>\` tag]:FILE:_files' \
'--theme=[An optional path to a custom theme directory]:DIR:_files' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'-l[Initialize pages in light mode instead of the default dark mode]' \
'--light-mode[Initialize pages in light mode instead of the default dark mode]' \
'--overwrite[Overwrite any existing documentation]' \
'--open[Open the generated documentation in the default web browser]' \
'--install[Install the theme if it is not already installed]' \
'--with-doc-comments[Enables support for documentation comments]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::workspace -- Path to the local WDL workspace to document:_default' \
&& ret=0
;;
(lock)
_arguments "${_arguments_options[@]}" : \
'-o+[Output directory for the lock file]:DIR:_files' \
'--output=[Output directory for the lock file]:DIR:_files' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::source -- A source WDL document, directory, or URL:_default' \
&& ret=0
;;
(server)
_arguments "${_arguments_options[@]}" : \
'--host=[Host to bind to]:HOST:_default' \
'--port=[Port to bind to]:PORT:_default' \
'--database-url=[Database URL]:DATABASE_URL:_default' \
'-o+[The output directory (default\: \`./out\`)]:OUTPUT_DIR:_files' \
'--output-dir=[The output directory (default\: \`./out\`)]:OUTPUT_DIR:_files' \
'*--allowed-file-paths=[Allowed file paths for file-based workflows]:ALLOWED_FILE_PATHS:_files' \
'*--allowed-urls=[Allowed URL prefixes for URL-based workflows]:ALLOWED_URLS:_default' \
'*--allowed-origins=[Allowed CORS origins]:ALLOWED_ORIGINS:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
&& ret=0
;;
(submit)
_arguments "${_arguments_options[@]}" : \
'--host=[The hostname of the running Sprocket server to talk to]:HOST:_default' \
'-p+[The port of the running Sprocket server to talk to]:PORT:_default' \
'--port=[The port of the running Sprocket server to talk to]:PORT:_default' \
'-t+[The name of the task or workflow to submit]:NAME:_default' \
'--target=[The name of the task or workflow to submit]:NAME:_default' \
'--index-on=[The output name to index on]:OUTPUT_NAME:_default' \
'-m+[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--report-mode=[The report mode]:MODE:((full\:"Prints diagnostics as multiple lines"
one-line\:"Prints diagnostics as one line"))' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
':source -- The WDL source file to submit:_default' \
'*::inputs -- The inputs for the task or workflow:_default' \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
'-w+[Root of the workspace where the \`test/\` directory will be located. Test fixtures will be loaded from \`<workspace>/test/fixtures/\` if it is present]:WORKSPACE:_files' \
'--workspace=[Root of the workspace where the \`test/\` directory will be located. Test fixtures will be loaded from \`<workspace>/test/fixtures/\` if it is present]:WORKSPACE:_files' \
'(-f --filter-tag)*-t+[Specific test tag that should be run]:TAG:_default' \
'(-f --filter-tag)*--include-tag=[Specific test tag that should be run]:TAG:_default' \
'*-f+[Filter out any tests with a matching tag]:TAG:_default' \
'*--filter-tag=[Filter out any tests with a matching tag]:TAG:_default' \
'-p+[The number of test executions to run in parallel]:PARALLELISM:_default' \
'--parallelism=[The number of test executions to run in parallel]:PARALLELISM:_default' \
'--color=[Controls output colorization]:COLOR:((auto\:"Automatically colorize output depending on output device"
always\:"Always colorize output"
never\:"Never colorize output"))' \
'*-c+[Path to the configuration file]:CONFIG:_files' \
'*--config=[Path to the configuration file]:CONFIG:_files' \
'(--clean-all)--no-clean[Do not clean the file system of successful tests]' \
'--clean-all[Clean all execution directories, even for tests that failed or errored]' \
'--no-status[Do not print results as tests complete]' \
'*-v[Increase logging verbosity]' \
'*--verbose[Increase logging verbosity]' \
'(-v --verbose)*-q[Decrease logging verbosity]' \
'(-v --verbose)*--quiet[Decrease logging verbosity]' \
'-s[Skip searching for and loading configuration files]' \
'--skip-config-search[Skip searching for and loading configuration files]' \
'-h[Print help (see more with '\''--help'\'')]' \
'--help[Print help (see more with '\''--help'\'')]' \
'-V[Print version]' \
'--version[Print version]' \
'::source -- Local path to a WDL document or workspace to unit test:_default' \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__dev__help_commands" \
"*::: :->help" \
&& ret=0

    case $state in
    (help)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-dev-help-command-$line[1]:"
        case $line[1] in
            (doc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(lock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(server)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(submit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__help_commands" \
"*::: :->help" \
&& ret=0

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

    case $state in
    (config)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-help-config-command-$line[1]:"
        case $line[1] in
            (init)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(resolve)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(explain)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(format)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__help__format_commands" \
"*::: :->format" \
&& ret=0

    case $state in
    (format)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-help-format-command-$line[1]:"
        case $line[1] in
            (check)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(view)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(overwrite)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(inputs)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(lint)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(run)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(validate)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(dev)
_arguments "${_arguments_options[@]}" : \
":: :_sprocket__help__dev_commands" \
"*::: :->dev" \
&& ret=0

    case $state in
    (dev)
        words=($line[1] "${words[@]}")
        (( CURRENT += 1 ))
        curcontext="${curcontext%:*:*}:sprocket-help-dev-command-$line[1]:"
        case $line[1] in
            (doc)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(lock)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(server)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(submit)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
(test)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
(help)
_arguments "${_arguments_options[@]}" : \
&& ret=0
;;
        esac
    ;;
esac
;;
        esac
    ;;
esac
}

(( $+functions[_sprocket_commands] )) ||
_sprocket_commands() {
    local commands; commands=(
'analyzer:Runs the Language Server Protocol (LSP) server' \
'check:Checks a document or a directory containing documents' \
'completions:Generates shell completions' \
'config:Display the effective configuration' \
'explain:Explains linting and validation rules' \
'format:Formats a document or a directory containing documents' \
'inputs:Writes the inputs schema for a WDL document' \
'lint:Lints a document or a directory containing documents' \
'run:Runs a task or workflow' \
'validate:Validate a set of inputs against a task or workflow' \
'dev:Developmental and experimental commands' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket commands' commands "$@"
}
(( $+functions[_sprocket__analyzer_commands] )) ||
_sprocket__analyzer_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket analyzer commands' commands "$@"
}
(( $+functions[_sprocket__check_commands] )) ||
_sprocket__check_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket check commands' commands "$@"
}
(( $+functions[_sprocket__completions_commands] )) ||
_sprocket__completions_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket completions commands' commands "$@"
}
(( $+functions[_sprocket__config_commands] )) ||
_sprocket__config_commands() {
    local commands; commands=(
'init:Generates a default configuration file' \
'resolve:Displays the current configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket config commands' commands "$@"
}
(( $+functions[_sprocket__config__help_commands] )) ||
_sprocket__config__help_commands() {
    local commands; commands=(
'init:Generates a default configuration file' \
'resolve:Displays the current configuration' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket config help commands' commands "$@"
}
(( $+functions[_sprocket__config__help__help_commands] )) ||
_sprocket__config__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket config help help commands' commands "$@"
}
(( $+functions[_sprocket__config__help__init_commands] )) ||
_sprocket__config__help__init_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket config help init commands' commands "$@"
}
(( $+functions[_sprocket__config__help__resolve_commands] )) ||
_sprocket__config__help__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket config help resolve commands' commands "$@"
}
(( $+functions[_sprocket__config__init_commands] )) ||
_sprocket__config__init_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket config init commands' commands "$@"
}
(( $+functions[_sprocket__config__resolve_commands] )) ||
_sprocket__config__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket config resolve commands' commands "$@"
}
(( $+functions[_sprocket__dev_commands] )) ||
_sprocket__dev_commands() {
    local commands; commands=(
'doc:Document a workspace' \
'lock:Locks Docker images to a sha256 digest' \
'server:Runs the HTTP API server for run execution' \
'submit:Submit a workflow to a Sprocket HTTP API server' \
'test:Runs unit tests for a WDL workspace' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket dev commands' commands "$@"
}
(( $+functions[_sprocket__dev__doc_commands] )) ||
_sprocket__dev__doc_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev doc commands' commands "$@"
}
(( $+functions[_sprocket__dev__help_commands] )) ||
_sprocket__dev__help_commands() {
    local commands; commands=(
'doc:Document a workspace' \
'lock:Locks Docker images to a sha256 digest' \
'server:Runs the HTTP API server for run execution' \
'submit:Submit a workflow to a Sprocket HTTP API server' \
'test:Runs unit tests for a WDL workspace' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket dev help commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__doc_commands] )) ||
_sprocket__dev__help__doc_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help doc commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__help_commands] )) ||
_sprocket__dev__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help help commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__lock_commands] )) ||
_sprocket__dev__help__lock_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help lock commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__server_commands] )) ||
_sprocket__dev__help__server_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help server commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__submit_commands] )) ||
_sprocket__dev__help__submit_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help submit commands' commands "$@"
}
(( $+functions[_sprocket__dev__help__test_commands] )) ||
_sprocket__dev__help__test_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev help test commands' commands "$@"
}
(( $+functions[_sprocket__dev__lock_commands] )) ||
_sprocket__dev__lock_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev lock commands' commands "$@"
}
(( $+functions[_sprocket__dev__server_commands] )) ||
_sprocket__dev__server_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev server commands' commands "$@"
}
(( $+functions[_sprocket__dev__submit_commands] )) ||
_sprocket__dev__submit_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev submit commands' commands "$@"
}
(( $+functions[_sprocket__dev__test_commands] )) ||
_sprocket__dev__test_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket dev test commands' commands "$@"
}
(( $+functions[_sprocket__explain_commands] )) ||
_sprocket__explain_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket explain commands' commands "$@"
}
(( $+functions[_sprocket__format_commands] )) ||
_sprocket__format_commands() {
    local commands; commands=(
'check:Check if files are formatted correctly and print diff if not' \
'view:Format a document and send the result to STDOUT' \
'overwrite:Reformat all WDL documents via overwriting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket format commands' commands "$@"
}
(( $+functions[_sprocket__format__check_commands] )) ||
_sprocket__format__check_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format check commands' commands "$@"
}
(( $+functions[_sprocket__format__help_commands] )) ||
_sprocket__format__help_commands() {
    local commands; commands=(
'check:Check if files are formatted correctly and print diff if not' \
'view:Format a document and send the result to STDOUT' \
'overwrite:Reformat all WDL documents via overwriting' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket format help commands' commands "$@"
}
(( $+functions[_sprocket__format__help__check_commands] )) ||
_sprocket__format__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format help check commands' commands "$@"
}
(( $+functions[_sprocket__format__help__help_commands] )) ||
_sprocket__format__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format help help commands' commands "$@"
}
(( $+functions[_sprocket__format__help__overwrite_commands] )) ||
_sprocket__format__help__overwrite_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format help overwrite commands' commands "$@"
}
(( $+functions[_sprocket__format__help__view_commands] )) ||
_sprocket__format__help__view_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format help view commands' commands "$@"
}
(( $+functions[_sprocket__format__overwrite_commands] )) ||
_sprocket__format__overwrite_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format overwrite commands' commands "$@"
}
(( $+functions[_sprocket__format__view_commands] )) ||
_sprocket__format__view_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket format view commands' commands "$@"
}
(( $+functions[_sprocket__help_commands] )) ||
_sprocket__help_commands() {
    local commands; commands=(
'analyzer:Runs the Language Server Protocol (LSP) server' \
'check:Checks a document or a directory containing documents' \
'completions:Generates shell completions' \
'config:Display the effective configuration' \
'explain:Explains linting and validation rules' \
'format:Formats a document or a directory containing documents' \
'inputs:Writes the inputs schema for a WDL document' \
'lint:Lints a document or a directory containing documents' \
'run:Runs a task or workflow' \
'validate:Validate a set of inputs against a task or workflow' \
'dev:Developmental and experimental commands' \
'help:Print this message or the help of the given subcommand(s)' \
    )
    _describe -t commands 'sprocket help commands' commands "$@"
}
(( $+functions[_sprocket__help__analyzer_commands] )) ||
_sprocket__help__analyzer_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help analyzer commands' commands "$@"
}
(( $+functions[_sprocket__help__check_commands] )) ||
_sprocket__help__check_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help check commands' commands "$@"
}
(( $+functions[_sprocket__help__completions_commands] )) ||
_sprocket__help__completions_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help completions commands' commands "$@"
}
(( $+functions[_sprocket__help__config_commands] )) ||
_sprocket__help__config_commands() {
    local commands; commands=(
'init:Generates a default configuration file' \
'resolve:Displays the current configuration' \
    )
    _describe -t commands 'sprocket help config commands' commands "$@"
}
(( $+functions[_sprocket__help__config__init_commands] )) ||
_sprocket__help__config__init_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help config init commands' commands "$@"
}
(( $+functions[_sprocket__help__config__resolve_commands] )) ||
_sprocket__help__config__resolve_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help config resolve commands' commands "$@"
}
(( $+functions[_sprocket__help__dev_commands] )) ||
_sprocket__help__dev_commands() {
    local commands; commands=(
'doc:Document a workspace' \
'lock:Locks Docker images to a sha256 digest' \
'server:Runs the HTTP API server for run execution' \
'submit:Submit a workflow to a Sprocket HTTP API server' \
'test:Runs unit tests for a WDL workspace' \
    )
    _describe -t commands 'sprocket help dev commands' commands "$@"
}
(( $+functions[_sprocket__help__dev__doc_commands] )) ||
_sprocket__help__dev__doc_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help dev doc commands' commands "$@"
}
(( $+functions[_sprocket__help__dev__lock_commands] )) ||
_sprocket__help__dev__lock_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help dev lock commands' commands "$@"
}
(( $+functions[_sprocket__help__dev__server_commands] )) ||
_sprocket__help__dev__server_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help dev server commands' commands "$@"
}
(( $+functions[_sprocket__help__dev__submit_commands] )) ||
_sprocket__help__dev__submit_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help dev submit commands' commands "$@"
}
(( $+functions[_sprocket__help__dev__test_commands] )) ||
_sprocket__help__dev__test_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help dev test commands' commands "$@"
}
(( $+functions[_sprocket__help__explain_commands] )) ||
_sprocket__help__explain_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help explain commands' commands "$@"
}
(( $+functions[_sprocket__help__format_commands] )) ||
_sprocket__help__format_commands() {
    local commands; commands=(
'check:Check if files are formatted correctly and print diff if not' \
'view:Format a document and send the result to STDOUT' \
'overwrite:Reformat all WDL documents via overwriting' \
    )
    _describe -t commands 'sprocket help format commands' commands "$@"
}
(( $+functions[_sprocket__help__format__check_commands] )) ||
_sprocket__help__format__check_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help format check commands' commands "$@"
}
(( $+functions[_sprocket__help__format__overwrite_commands] )) ||
_sprocket__help__format__overwrite_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help format overwrite commands' commands "$@"
}
(( $+functions[_sprocket__help__format__view_commands] )) ||
_sprocket__help__format__view_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help format view commands' commands "$@"
}
(( $+functions[_sprocket__help__help_commands] )) ||
_sprocket__help__help_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help help commands' commands "$@"
}
(( $+functions[_sprocket__help__inputs_commands] )) ||
_sprocket__help__inputs_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help inputs commands' commands "$@"
}
(( $+functions[_sprocket__help__lint_commands] )) ||
_sprocket__help__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help lint commands' commands "$@"
}
(( $+functions[_sprocket__help__run_commands] )) ||
_sprocket__help__run_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help run commands' commands "$@"
}
(( $+functions[_sprocket__help__validate_commands] )) ||
_sprocket__help__validate_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket help validate commands' commands "$@"
}
(( $+functions[_sprocket__inputs_commands] )) ||
_sprocket__inputs_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket inputs commands' commands "$@"
}
(( $+functions[_sprocket__lint_commands] )) ||
_sprocket__lint_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket lint commands' commands "$@"
}
(( $+functions[_sprocket__run_commands] )) ||
_sprocket__run_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket run commands' commands "$@"
}
(( $+functions[_sprocket__validate_commands] )) ||
_sprocket__validate_commands() {
    local commands; commands=()
    _describe -t commands 'sprocket validate commands' commands "$@"
}

if [ "$funcstack[1]" = "_sprocket" ]; then
    _sprocket "$@"
else
    compdef _sprocket sprocket
fi
