Refactor ansi stripping into nu-utils functions (#6966)

Allows use of slightly optimized variants that check if they have to use
the heavier vte parser. Tries to avoid unnnecessary allocations. Initial
performance characteristics proven out in #4378.

Also reduces boilerplate with right-ward drift.
This commit is contained in:
Stefan Holderbach
2022-11-04 19:49:45 +01:00
committed by GitHub
parent b9195c2668
commit 2c4048eb43
24 changed files with 126 additions and 134 deletions

View File

@ -170,17 +170,11 @@ fn get_documentation(
long_desc.push('\n');
let stripped_string = if config.no_color {
if let Ok(bytes) = strip_ansi_escapes::strip(&long_desc) {
String::from_utf8_lossy(&bytes).to_string()
} else {
long_desc
}
if config.no_color {
nu_utils::strip_ansi_string_likely(long_desc)
} else {
long_desc
};
stripped_string
}
}
// document shape helps showing more useful information