Add handling for backspace chars in BufferIO
parent
dc315cc768
commit
b7fb60494d
|
@ -40,6 +40,19 @@ class BufferIO extends ConsoleIO
|
|||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue