conjure_essence_parser/
errors.rs1pub use conjure_core::error::Error as ConjureParseError;
2use thiserror::Error as ThisError;
3
4#[derive(Debug, ThisError)]
5pub enum EssenceParseError {
6 #[error("Could not parse Essence AST: {0}")]
7 TreeSitterError(String),
8 #[error("Error running conjure pretty: {0}")]
9 ConjurePrettyError(String),
10 #[error("Error running conjure solve: {0}")]
11 ConjureSolveError(String),
12 #[error("Error parsing essence file: {0}")]
13 ParseError(ConjureParseError),
14 #[error("Error parsing Conjure solutions file: {0}")]
15 ConjureSolutionsError(String),
16 #[error("No solutions file for {0}")]
17 ConjureNoSolutionsFile(String),
18}
19
20impl From<ConjureParseError> for EssenceParseError {
21 fn from(e: ConjureParseError) -> Self {
22 EssenceParseError::ParseError(e)
23 }
24}
25
26impl From<&str> for EssenceParseError {
27 fn from(e: &str) -> Self {
28 EssenceParseError::ParseError(ConjureParseError::Parse(e.to_string()))
29 }
30}
31
32impl From<String> for EssenceParseError {
33 fn from(e: String) -> Self {
34 EssenceParseError::ParseError(ConjureParseError::Parse(e))
35 }
36}