private InputInterface
$input;
private OutputInterface
$output;
private SymfonyQuestionHelper
$questionHelper;
private ProgressBar
$progressBar;
private int
$lineLength;
private TrimmedBufferOutput
$bufferedOutput;
public function __construct(InputInterface
$input, OutputInterface
$output) { $this->input =
$input;
$this->bufferedOutput =
new TrimmedBufferOutput(\DIRECTORY_SEPARATOR === '\\' ? 4 : 2,
$output->
getVerbosity(), false,
clone $output->
getFormatter());
// Windows cmd wraps lines as soon as the terminal width is reached, whether there are following chars or not.
$width =
(new Terminal())->
getWidth() ?: self::MAX_LINE_LENGTH;
$this->lineLength =
min($width -
(int) (\DIRECTORY_SEPARATOR === '\\'
), self::MAX_LINE_LENGTH
);
parent::
__construct($this->output =
$output);
} /**
* Formats a message as a block of text.
*
* @return void
*/