Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. SymfonyQuestionHelper.php

function SymfonyQuestionHelper::writePrompt

Overrides QuestionHelper::writePrompt

File

vendor/symfony/console/Helper/SymfonyQuestionHelper.php, line 28

Class

SymfonyQuestionHelper
Symfony Style Guide compliant question helper.

Namespace

Symfony\Component\Console\Helper

Code

protected function writePrompt(OutputInterface $output, Question $question) : void {
    $text = OutputFormatter::escapeTrailingBackslash($question->getQuestion());
    $default = $question->getDefault();
    if ($question->isMultiline()) {
        $text .= \sprintf(' (press %s to continue)', $this->getEofShortcut());
    }
    switch (true) {
        case null === $default:
            $text = \sprintf(' <info>%s</info>:', $text);
            break;
        case $question instanceof ConfirmationQuestion:
            $text = \sprintf(' <info>%s (yes/no)</info> [<comment>%s</comment>]:', $text, $default ? 'yes' : 'no');
            break;
        case $question instanceof ChoiceQuestion && $question->isMultiselect():
            $choices = $question->getChoices();
            $default = explode(',', $default);
            foreach ($default as $key => $value) {
                $default[$key] = $choices[trim($value)];
            }
            $text = \sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape(implode(', ', $default)));
            break;
        case $question instanceof ChoiceQuestion:
            $choices = $question->getChoices();
            $text = \sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape($choices[$default] ?? $default));
            break;
        default:
            $text = \sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, OutputFormatter::escape($default));
    }
    $output->writeln($text);
    $prompt = ' > ';
    if ($question instanceof ChoiceQuestion) {
        $output->writeln($this->formatChoiceQuestionChoices($question, 'comment'));
        $prompt = $question->getPrompt();
    }
    $output->write($prompt);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal