Skip to main content

camel_language_api/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum LanguageError {
5    #[error("parse error in expression `{expr}`: {reason}")]
6    ParseError { expr: String, reason: String },
7
8    #[error("evaluation error: {0}")]
9    EvalError(String),
10
11    #[error("unknown variable: {0}")]
12    UnknownVariable(String),
13
14    #[error("language `{0}` not found in registry")]
15    NotFound(String),
16
17    #[error(
18        "language `{0}` is already registered; use a different name or remove the existing registration first"
19    )]
20    AlreadyRegistered(String),
21
22    #[error("feature '{feature}' not supported by language '{language}'")]
23    NotSupported { feature: String, language: String },
24}