pub fn strip_ansi(text: &str) -> String {
String::from_utf8_lossy(&strip_ansi_escapes::strip(text)).into_owned()
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn strips_sgr_colour_codes() {
assert_eq!(strip_ansi("\x1b[31mred\x1b[0m text"), "red text");
}
#[test]
fn strips_osc_sequences() {
assert_eq!(strip_ansi("\x1b]0;title\x07after"), "after");
assert_eq!(strip_ansi("\x1b]0;title\x1b\\after"), "after");
}
#[test]
fn leaves_plain_text_alone() {
assert_eq!(strip_ansi("plain [not] an escape"), "plain [not] an escape");
}
}