@@ -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 }