Symfony индикатор выполнения - простой зеленый (например, <info>) )? - PullRequest
2 голосов
/ 14 апреля 2020

Использование symfony для раскрашивания сообщений удобно:

$output->writeln('<info>Hello world</info>');

Какой самый простой способ установить индикатор выполнения в этой цветовой схеме. Ничего особенного - никаких дополнений: просто объявить индикатор выполнения в виде информации в стандартных цветах: fg = зеленый bg = черный? Вот и все

Я нашел только инструкции для супер необычных настроек, которые мне не нужны.

Мои различные попытки с использованием

$progress->setFormat();

или

$progress->setFormatDefinition();

не удалось

Ответы [ 2 ]

4 голосов
/ 14 апреля 2020

Вы можете настроить индикатор выполнения с помощью компонента индикатора выполнения . Чтобы изменить цвет, вам нужно только установить character:

$progressBar = new ProgressBar($output, $cpt);
$progressBar->setBarCharacter('<fg=green>•</>');
$progressBar->setEmptyBarCharacter('<fg=green>⚬</>');
$progressBar->setProgressCharacter('<fg=green>➤</>');
$progressBar->setFormat($format);

Пример дает вам следующее:

command with progress bar

1 голос
/ 14 апреля 2020

Довольно близко к тому, что я искал:

$progress = new ProgressBar($output);
$progress->setFormatDefinition('info', '<info>%current% [%bar%]</info>');
$progress->setFormat('info');

Стало ли легче?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...