1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum ParserError {
5    #[error("Parse error: {0}")]
6    Parse(String),
7
8    #[error("Invalid schema: {0}")]
9    InvalidSchema(String),
10
11    #[error("IO error: {0}")]
12    Io(#[from] std::io::Error),
13
14    #[error("JSON error: {0}")]
15    Json(#[from] serde_json::Error),
16
17    #[error("YAML error: {0}")]
18    Yaml(#[from] serde_yaml::Error),
19
20    #[error("Network error: {0}")]
21    Network(String),
22
23    #[error("Unsupported feature: {0}")]
24    UnsupportedFeature(String),
25}