Permalink
Browse files

Add handling for backspace chars in BufferIO

  • Loading branch information...
1 parent dc315cc commit b7fb60494d881a90e78674fced037a97626f458f @Seldaek Seldaek committed Nov 11, 2012
Showing with 14 additions and 1 deletion.
  1. +14 −1 src/Composer/IO/BufferIO.php
@@ -40,6 +40,19 @@ public function getOutput()
{
fseek($this->output->getStream(), 0);
- return stream_get_contents($this->output->getStream());
+ $output = stream_get_contents($this->output->getStream());
+
+ $output = preg_replace_callback("{(?<=^|\n|\x08)(.+?)(\x08+)}", function ($matches) {
+ $pre = strip_tags($matches[1]);
+
+ if (strlen($pre) === strlen($matches[2])) {
+ return '';
+ }
+
+ // TODO reverse parse the string, skipping span tags and \033\[([0-9;]+)m(.*?)\033\[0m style blobs
+ return rtrim($matches[1])."\n";
+ }, $output);
+
+ return $output;
}
}

0 comments on commit b7fb604

Please sign in to comment.