1use thiserror::Error;
7
8pub type Result<T> = std::result::Result<T, ParserError>;
10
11#[derive(Debug, Error)]
13pub enum ParserError {
14 #[error("Generic error: {0}")]
16 Generic(String),
17
18 #[error("I/O error: {context}: {source}")]
20 IO {
21 context: String,
23 #[source]
25 source: std::io::Error,
26 },
27
28 #[error("Parse error: {0}")]
30 Parse(String),
31
32 #[error("Component error: {0}")]
34 Component(String),
35
36 #[error("CSS error: {0}")]
38 Css(String),
39
40 #[error("HTML error: {0}")]
42 Html(String),
43
44 #[error("Directive error: {0}")]
46 Directive(String),
47
48 #[error("Not found: {0}")]
50 NotFound(String),
51
52 #[error("TypeScript parse error: {0}")]
54 TsParseError(String),
55}