Skip to content

Commit b05c33a

Browse files
committed
Only keep error message
1 parent 3675914 commit b05c33a

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

rust/types/src/regex/mod.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@ pub enum ChromaRegexError {
2727
BytePattern,
2828
#[error("Pattern that always matches is not allowed")]
2929
EmptyPattern,
30-
#[error(transparent)]
31-
Regex(#[from] regex::Error),
32-
#[error(transparent)]
33-
RegexSyntax(#[from] regex_syntax::Error),
30+
// NOTE: regex::Error is a large type, so we only store its error message here.
31+
#[error("Unexpected regex error: {0}")]
32+
Regex(String),
33+
// NOTE: regex_syntax::Error is a large type, so we only store its error message here.
34+
#[error("Regex syntax errror: {0}")]
35+
RegexSyntax(String),
3436
}
3537

3638
impl ChromaRegex {
@@ -42,15 +44,15 @@ impl ChromaRegex {
4244
// be Ok(_) becasue we validate the pattern during struct construction. Specifically,
4345
// we verify that the pattern can be properly parsed and is thus a valid pattern supported
4446
// by the regex crate.
45-
Ok(Regex::new(&self.pattern)?)
47+
Regex::new(&self.pattern).map_err(|e| ChromaRegexError::Regex(e.to_string()))
4648
}
4749
}
4850

4951
impl TryFrom<String> for ChromaRegex {
5052
type Error = ChromaRegexError;
5153

5254
fn try_from(value: String) -> Result<Self, Self::Error> {
53-
let hir = parse(&value)?;
55+
let hir = parse(&value).map_err(|e| ChromaRegexError::RegexSyntax(e.to_string()))?;
5456
if let Some(0) = hir.properties().minimum_len() {
5557
return Err(ChromaRegexError::EmptyPattern);
5658
}

0 commit comments

Comments
 (0)