From 992c3c0c02084fd04cd14d21639a92be42fb0e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Ostroluck=C3=BD?= Date: Sun, 17 Feb 2019 18:39:16 +0100 Subject: [PATCH] Remove unnecessary ProgressBar stdout writes (fixes flickering) --- Helper/ProgressBar.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Helper/ProgressBar.php b/Helper/ProgressBar.php index a1c3cc5d2..172565514 100644 --- a/Helper/ProgressBar.php +++ b/Helper/ProgressBar.php @@ -466,19 +466,16 @@ private function overwrite($message) { if ($this->overwrite) { if (!$this->firstRun) { - // Move the cursor to the beginning of the line - $this->output->write("\x0D"); - - // Erase the line - $this->output->write("\x1B[2K"); - // Erase previous lines if ($this->formatLineCount > 0) { - $this->output->write(str_repeat("\x1B[1A\x1B[2K", $this->formatLineCount)); + $message = str_repeat("\x1B[1A\x1B[2K", $this->formatLineCount).$message; } + + // Move the cursor to the beginning of the line and erase the line + $message = "\x0D\x1B[2K$message"; } } elseif ($this->step > 0) { - $this->output->writeln(''); + $message = PHP_EOL.$message; } $this->firstRun = false;