Skip to main content

overlay_file/
error.rs

1use crate::validator::ValidationError;
2
3#[derive(thiserror::Error, Debug, serde::Serialize)]
4#[serde(untagged)]
5pub enum ParseError {
6    #[error("Error at line {line_number} ({raw_line}): {message}")]
7    GrammarError {
8        #[serde(rename = "ln")]
9        line_number: usize,
10        #[serde(rename = "col")]
11        column_number: usize,
12        #[serde(rename = "c")]
13        raw_line: String,
14        #[serde(rename = "e")]
15        message: String,
16    },
17    #[error("Error parsing meta: {0}")]
18    MetaError(String),
19
20    #[error("{0}")]
21    Custom(String),
22
23    #[error("{0:?}")]
24    ValidationError(Vec<ValidationError>),
25}