Permalink
Browse files

[Console] fixed progress bar jumping

  • Loading branch information...
1 parent d8f6021 commit 6a0ee27de1b11c16cb93a6e87d18d3b9afd618ba @tecbot tecbot committed Oct 17, 2012
@@ -380,21 +380,12 @@ private function humaneTime($secs)
*
* @param OutputInterface $output An Output instance
* @param string|array $messages The message as an array of lines or a single string
- * @param Boolean $newline Whether to add a newline or not
- * @param integer $size The size of line
*/
- private function overwrite(OutputInterface $output, $messages, $newline = false, $size = 80)
+ private function overwrite(OutputInterface $output, $messages)
{
- $output->write(str_repeat("\x08", $size));
+ $output->write("\x0D"); // carriage return
+ $output->write("\x1B\x5B\x4B"); // clear line
$output->write($messages);
- $output->write(str_repeat(' ', $size - strlen($messages)));
-
- // clean up the end line
- $output->write(str_repeat("\x08", $size - strlen($messages)));
-
- if ($newline) {
- $output->writeln('');
- }
}
/**
@@ -82,6 +82,6 @@ protected function getOutputStream()
protected function generateOutput($expected)
{
- return str_repeat("\x08", 80).$expected.str_repeat(' ', 80 - strlen($expected)).str_repeat("\x08", 80 - strlen($expected));
+ return "\x0D\x1B\x5B\x4B".$expected;
}
}

0 comments on commit 6a0ee27

Please sign in to comment.