services:
    matthias_symfony_console.register_styles_event_listener:
        class: Matthias\SymfonyConsoleForm\Console\EventListener\RegisterOutputFormatterStylesEventListener
        public: true
        arguments:
            - "@matthias_symfony_console.styles_collection"
        tags:
            - { name: kernel.event_listener, event: console.command, method: onConsoleCommand, priority: 1000 }

    matthias_symfony_console.styles_collection:
        class: Matthias\SymfonyConsoleForm\Console\Formatter\StylesCollection
        public: false

    console_style:
        class: Symfony\Component\Console\Formatter\OutputFormatterStyle
        abstract: true
        public: false

    matthias_symfony_console.fieldset_style:
        parent: console_style
        public: false
        arguments: [yellow, ~, [bold]]
        tags:
            - { name: console_style, style: fieldset }

    matthias_symfony_console.default_style:
        parent: console_style
        public: false
        arguments: [green]
        tags:
            - { name: console_style, style: default }

    matthias_symfony_console.question_style:
        parent: console_style
        public: false
        arguments: [black, cyan]
        tags:
            - { name: console_style, style: question }
