services:
  # DrupalConsoleCore Services
  console.translator_manager:
    class: Drupal\Console\Core\Utils\TranslatorManager
  console.configuration_manager:
    class: Drupal\Console\Core\Utils\ConfigurationManager
  console.requirement_checker:
    class: Drupal\Console\Core\Utils\RequirementChecker
  console.chain_queue:
    class: Drupal\Console\Core\Utils\ChainQueue
  console.nested_array:
    class: Drupal\Console\Core\Utils\NestedArray
  console.show_file:
    class: Drupal\Console\Core\Utils\ShowFile
    arguments: ['@app.root', '@console.translator_manager']
  console.renderer:
    class: Drupal\Console\Core\Utils\TwigRenderer
    arguments: ['@console.translator_manager', '@console.string_converter']
  console.file_queue:
    class: Drupal\Console\Core\Utils\FileQueue
    arguments: ['@app.root']
  console.shell_process:
    class: Drupal\Console\Core\Utils\ShellProcess
    arguments: ['@app.root', '@console.translator_manager']
  console.string_converter:
      class: Drupal\Console\Core\Utils\StringConverter
  console.chain_discovery:
    class: Drupal\Console\Core\Utils\ChainDiscovery
    arguments: ['@console.root', '@console.configuration_manager']
  console.count_code_lines:
    class: Drupal\Console\Core\Utils\CountCodeLines
  console.message_manager:
    class: Drupal\Console\Core\Utils\MessageManager
  # DrupalConsoleCore Commands
  console.about:
    class: Drupal\Console\Core\Command\AboutCommand
    tags:
      - { name: drupal.command }
  console.list:
    class: Drupal\Console\Core\Command\ListCommand
    tags:
      - { name: drupal.command }
  console.help:
    class: Drupal\Console\Core\Command\HelpCommand
    tags:
      - { name: drupal.command }
  console.complete:
    class: Drupal\Console\Core\Command\CompleteCommand
    tags:
      - { name: drupal.command }
  console.check:
    class: Drupal\Console\Core\Command\CheckCommand
    arguments: ['@console.requirement_checker', '@console.chain_queue', '@console.configuration_manager']
    tags:
      - { name: drupal.command }
  console.init:
    class: Drupal\Console\Core\Command\InitCommand
    arguments: ['@console.show_file', '@console.configuration_manager', '@console.init_generator', '@app.root', '@?console.root']
    tags:
      - { name: drupal.command }
  console.settings_debug:
    class: Drupal\Console\Core\Command\Debug\SettingsCommand
    arguments: ['@console.configuration_manager']
    tags:
      - { name: drupal.command }
  console.settings_set:
    class: Drupal\Console\Core\Command\Settings\SetCommand
    arguments: ['@console.configuration_manager', '@console.nested_array']
    tags:
      - { name: drupal.command }
  console.exec:
    class: Drupal\Console\Core\Command\Exec\ExecCommand
    arguments: ['@console.shell_process']
    tags:
      - { name: drupal.command }
  console.chain:
    class: Drupal\Console\Core\Command\Chain\ChainCommand
    arguments: ['@console.chain_queue', '@console.chain_discovery']
    tags:
      - { name: drupal.command }
  console.chain_debug:
    class: Drupal\Console\Core\Command\Debug\ChainCommand
    arguments: ['@console.chain_discovery']
    tags:
      - { name: drupal.command }
  console.site_debug:
    class: Drupal\Console\Core\Command\Debug\SiteCommand
    arguments: ['@console.configuration_manager']
    tags:
      - { name: drupal.command }
  # DrupalConsoleCore Generators
  console.init_generator:
    class: Drupal\Console\Core\Generator\InitGenerator
    tags:
      - { name: drupal.generator }
  console.drush:
    class: Drupal\Console\Core\Command\DrushCommand
    arguments: ['@console.configuration_manager', '@console.chain_queue']
    tags:
      - { name: drupal.command }
