summaryrefslogtreecommitdiffstats
path: root/src/utils/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-08-12 22:31:59 +0800
committerGitHub <noreply@github.com>2024-08-12 22:31:59 +0800
commitd79ad491067669fcf67991238e73a70aae413618 (patch)
tree738d8d944e78955fd7b7aa0fd4fc9f6c33f24ab2 /src/utils/mod.rs
parent92ce440b0bc8fd72b4c35f8500a8e10b488001b1 (diff)
downloadaichat-d79ad491067669fcf67991238e73a70aae413618.tar.gz
feat: support builtin website crawling (recursive_url) (#786)
Diffstat (limited to 'src/utils/mod.rs')
-rw-r--r--src/utils/mod.rs11
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)