diff options
Diffstat (limited to 'src/utils/mod.rs')
| -rw-r--r-- | src/utils/mod.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 6f89fbe..d9d6617 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -121,6 +121,17 @@ pub fn fuzzy_match(text: &str, pattern: &str) -> bool { pattern_index == pattern_chars.len() } +pub fn pretty_error(err: &anyhow::Error) -> String { + let mut output = vec![]; + output.push(err.to_string()); + output.push("Caused by:".to_string()); + for (i, cause) in err.chain().skip(1).enumerate() { + output.push(format!(" {i}: {cause}")); + } + output.push(String::new()); + output.join("\n") +} + pub fn error_text(input: &str) -> String { nu_ansi_term::Style::new() .fg(nu_ansi_term::Color::Red) |
