function __fish_dcg_no_subcommand
    for i in (commandline -opc)
        if contains -- $i _complete completion composer controller field generate-completion help hook install-file javascript layout list module module-file navigation phpstorm-metadata plugin-manager render-element service-provider template theme theme-file theme-settings console:dcg-command console:symfony-command entity:bundle-class entity:configuration entity:content form:config form:confirm form:simple misc:apache-virtual-host misc:nginx-virtual-host plugin:action plugin:block plugin:ckeditor plugin:condition plugin:constraint plugin:entity-reference-selection plugin:field:formatter plugin:field:type plugin:field:widget plugin:filter plugin:menu-link plugin:migrate:destination plugin:migrate:process plugin:migrate:source plugin:queue-worker plugin:rest-resource plugin:views:argument-default plugin:views:field plugin:views:style service:access-checker service:breadcrumb-builder service:cache-context service:custom service:event-subscriber service:logger service:middleware service:param-converter service:path-processor service:request-policy service:response-policy service:route-subscriber service:theme-negotiator service:twig-extension service:uninstall-validator test:browser test:kernel test:nightwatch test:unit test:webdriver yml:breakpoints yml:links:action yml:links:contextual yml:links:menu yml:links:task yml:module-info yml:module-libraries yml:permissions yml:routing yml:services yml:theme-info yml:theme-libraries
            return 1
        end
    end
    return 0
end

# global options
complete -c dcg -n '__fish_dcg_no_subcommand' -l help -d 'Display help for the given command. When no command is given display help for the navigation command'
complete -c dcg -n '__fish_dcg_no_subcommand' -l verbose -d 'Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug'
complete -c dcg -n '__fish_dcg_no_subcommand' -l version -d 'Display this application version'
complete -c dcg -n '__fish_dcg_no_subcommand' -l ansi -d 'Force (or disable --no-ansi) ANSI output'
complete -c dcg -n '__fish_dcg_no_subcommand' -l no-ansi -d 'Negate the "--ansi" option'
complete -c dcg -n '__fish_dcg_no_subcommand' -l working-dir -d 'Working directory'
complete -c dcg -n '__fish_dcg_no_subcommand' -l answer -d 'Answer to generator question'
complete -c dcg -n '__fish_dcg_no_subcommand' -l dry-run -d 'Output the generated code but not save it to file system'
complete -c dcg -n '__fish_dcg_no_subcommand' -l full-path -d 'Print full path to generated assets'
complete -c dcg -n '__fish_dcg_no_subcommand' -l destination -d 'Path to a base directory for file writing'
complete -c dcg -n '__fish_dcg_no_subcommand' -l replace -d 'Replace existing assets without confirmation'

# commands
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a _complete -d 'Internal command to provide shell completion suggestions'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a completion -d 'Dump the shell completion script'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a composer -d 'Generates a composer.json file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a controller -d 'Generates a controller'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a field -d 'Generates a field'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a generate-completion -d 'Generates shell completion'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a help -d 'Display help for a command'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a hook -d 'Generates a hook'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a install-file -d 'Generates an install file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a javascript -d 'Generates Drupal JavaScript file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a layout -d 'Generates a layout'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a list -d 'List commands'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a module -d 'Generates Drupal module'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a module-file -d 'Generates a module file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a navigation -d 'Command line code generator'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a phpstorm-metadata -d 'Generates PhpStorm metadata'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin-manager -d 'Generates plugin manager'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a render-element -d 'Generates Drupal render element'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service-provider -d 'Generates a service provider'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a template -d 'Generates a template'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a theme -d 'Generates Drupal theme'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a theme-file -d 'Generates a theme file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a theme-settings -d 'Generates Drupal theme-settings.php file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a console:dcg-command -d 'Generates DCG command'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a console:symfony-command -d 'Generates Symfony console command'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a entity:bundle-class -d 'Generate a bundle class for a content entity.'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a entity:configuration -d 'Generates configuration entity'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a entity:content -d 'Generates content entity'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a form:config -d 'Generates a configuration form'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a form:confirm -d 'Generates a confirmation form'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a form:simple -d 'Generates simple form'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a misc:apache-virtual-host -d 'Generates an Apache site configuration file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a misc:nginx-virtual-host -d 'Generates an Nginx site configuration file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:action -d 'Generates action plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:block -d 'Generates block plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:ckeditor -d 'Generates CKEditor plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:condition -d 'Generates condition plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:constraint -d 'Generates constraint plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:entity-reference-selection -d 'Generates entity reference selection plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:field:formatter -d 'Generates field formatter plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:field:type -d 'Generates field type plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:field:widget -d 'Generates field widget plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:filter -d 'Generates filter plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:menu-link -d 'Generates menu-link plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:migrate:destination -d 'Generates migrate destination plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:migrate:process -d 'Generates migrate process plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:migrate:source -d 'Generates migrate source plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:queue-worker -d 'Generates queue worker plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:rest-resource -d 'Generates rest resource plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:views:argument-default -d 'Generates views default argument plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:views:field -d 'Generates views field plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a plugin:views:style -d 'Generates views style plugin'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:access-checker -d 'Generates an access checker service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:breadcrumb-builder -d 'Generates a breadcrumb builder service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:cache-context -d 'Generates a cache context service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:custom -d 'Generates a custom Drupal service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:event-subscriber -d 'Generates an event subscriber'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:logger -d 'Generates a logger service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:middleware -d 'Generates a middleware'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:param-converter -d 'Generates a param converter service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:path-processor -d 'Generates a path processor service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:request-policy -d 'Generates a request policy service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:response-policy -d 'Generates a response policy service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:route-subscriber -d 'Generates a route subscriber'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:theme-negotiator -d 'Generates a theme negotiator'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:twig-extension -d 'Generates Twig extension service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a service:uninstall-validator -d 'Generates a uninstall validator service'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a test:browser -d 'Generates a browser based test'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a test:kernel -d 'Generates a kernel based test'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a test:nightwatch -d 'Generates a nightwatch test'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a test:unit -d 'Generates a unit test'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a test:webdriver -d 'Generates a test that supports JavaScript'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:breakpoints -d 'Generates a breakpoints yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:links:action -d 'Generates a links.action yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:links:contextual -d 'Generates links.contextual yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:links:menu -d 'Generates a links.menu yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:links:task -d 'Generates a links.task yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:module-info -d 'Generates a module info yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:module-libraries -d 'Generates module libraries yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:permissions -d 'Generates a permissions yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:routing -d 'Generates a routing yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:services -d 'Generates a services yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:theme-info -d 'Generates a theme info yml file'
complete -c dcg -f -n '__fish_dcg_no_subcommand' -a yml:theme-libraries -d 'Generates theme libraries yml file'

# command options

# _complete
complete -c dcg -A -n '__fish_seen_subcommand_from _complete' -l shell -d 'The shell type ("bash", "fish")'
complete -c dcg -A -n '__fish_seen_subcommand_from _complete' -l input -d 'An array of input tokens (e.g. COMP_WORDS or argv)'
complete -c dcg -A -n '__fish_seen_subcommand_from _complete' -l current -d 'The index of the "input" array that the cursor is in (e.g. COMP_CWORD)'
complete -c dcg -A -n '__fish_seen_subcommand_from _complete' -l symfony -d 'The version of the completion script'

# completion
complete -c dcg -A -n '__fish_seen_subcommand_from completion' -l debug -d 'Tail the completion debug log'

# composer

# controller

# field

# generate-completion
complete -c dcg -A -n '__fish_seen_subcommand_from generate-completion' -l shell -d 'Shell type'

# help
complete -c dcg -A -n '__fish_seen_subcommand_from help' -l format -d 'The output format (txt, xml, json, or md)'
complete -c dcg -A -n '__fish_seen_subcommand_from help' -l raw -d 'To output raw command help'

# hook

# install-file

# javascript

# layout

# list
complete -c dcg -A -n '__fish_seen_subcommand_from list' -l raw -d 'To output raw command list'
complete -c dcg -A -n '__fish_seen_subcommand_from list' -l format -d 'The output format (txt, xml, json, or md)'
complete -c dcg -A -n '__fish_seen_subcommand_from list' -l short -d 'To skip describing commands\' arguments'

# module

# module-file

# navigation

# phpstorm-metadata

# plugin-manager

# render-element

# service-provider

# template

# theme

# theme-file

# theme-settings

# console:dcg-command

# console:symfony-command

# entity:bundle-class

# entity:configuration

# entity:content

# form:config

# form:confirm

# form:simple

# misc:apache-virtual-host

# misc:nginx-virtual-host

# plugin:action

# plugin:block

# plugin:ckeditor

# plugin:condition

# plugin:constraint

# plugin:entity-reference-selection

# plugin:field:formatter

# plugin:field:type

# plugin:field:widget

# plugin:filter

# plugin:menu-link

# plugin:migrate:destination

# plugin:migrate:process

# plugin:migrate:source

# plugin:queue-worker

# plugin:rest-resource

# plugin:views:argument-default

# plugin:views:field

# plugin:views:style

# service:access-checker

# service:breadcrumb-builder

# service:cache-context

# service:custom

# service:event-subscriber

# service:logger

# service:middleware

# service:param-converter

# service:path-processor

# service:request-policy

# service:response-policy

# service:route-subscriber

# service:theme-negotiator

# service:twig-extension

# service:uninstall-validator

# test:browser

# test:kernel

# test:nightwatch

# test:unit

# test:webdriver

# yml:breakpoints

# yml:links:action

# yml:links:contextual

# yml:links:menu

# yml:links:task

# yml:module-info

# yml:module-libraries

# yml:permissions

# yml:routing

# yml:services

# yml:theme-info

# yml:theme-libraries
