private function ProgressBar::overwrite in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/console/Helper/ProgressBar.php \Symfony\Component\Console\Helper\ProgressBar::overwrite()
Overwrites a previous message to the output.
Parameters
string $message The message:
2 calls to ProgressBar::overwrite()
- ProgressBar::clear in vendor/
symfony/ console/ Helper/ ProgressBar.php - Removes the progress bar from the current line.
- ProgressBar::display in vendor/
symfony/ console/ Helper/ ProgressBar.php - Outputs the current progress string.
File
- vendor/
symfony/ console/ Helper/ ProgressBar.php, line 515
Class
- ProgressBar
- The ProgressBar provides helpers to display progress output.
Namespace
Symfony\Component\Console\HelperCode
private function overwrite($message) {
$lines = explode("\n", $message);
// append whitespace to match the line's length
if (null !== $this->lastMessagesLength) {
foreach ($lines as $i => $line) {
if ($this->lastMessagesLength > Helper::strlenWithoutDecoration($this->output
->getFormatter(), $line)) {
$lines[$i] = str_pad($line, $this->lastMessagesLength, " ", STR_PAD_RIGHT);
}
}
}
if ($this->overwrite) {
// move back to the beginning of the progress bar before redrawing it
$this->output
->write("\r");
}
elseif ($this->step > 0) {
// move to new line
$this->output
->writeln('');
}
if ($this->formatLineCount) {
$this->output
->write(sprintf("\33[%dA", $this->formatLineCount));
}
$this->output
->write(implode("\n", $lines));
$this->lastMessagesLength = 0;
foreach ($lines as $line) {
$len = Helper::strlenWithoutDecoration($this->output
->getFormatter(), $line);
if ($len > $this->lastMessagesLength) {
$this->lastMessagesLength = $len;
}
}
}