on master help sign in
Improve logic for SGR sequence passthrough
commit0ddd388a29c0653f13981f181917929d7068b5a6 authoreth-p <32112321+eth-p@users.noreply.github.com> dateThu 5 Jul 2018, 14:30 (8 years ago) parent34811b8
1 file changed+6−2
src/printer.rs+6−2
src/printer.rs+6−2
@@ -164,9 +164,13 @@ impl<'a> Printer<'a> {
164164 match chunk {
165165 // ANSI escape passthrough.
166166 (text, true) => {
167− if text.chars().last().unwrap() == 'm' {
168− self.ansi_prefix_sgr.push_str(text);
167+ if text.chars().last().map_or(false, |c| c == 'm') {
169168 ansi_prefix.push_str(text);
169+ if text == "\x1B[0m" {
170+ self.ansi_prefix_sgr = "\x1B[0m".to_owned();
171+ } else {
172+ self.ansi_prefix_sgr.push_str(text);
173+ }
170174 } else {
171175 ansi_prefix.push_str(text);
172176 }