es_fluent_sc_parser/
error.rs

1use std::path::PathBuf;
2use thiserror::Error;
3
4use es_fluent_core::error::EsFluentCoreError;
5
6#[derive(Debug, Error)]
7pub enum FluentScParserError {
8    /// An IO error.
9    #[error("IO error accessing path '{0}': {1}")]
10    Io(PathBuf, #[source] std::io::Error),
11
12    /// An error that occurs when parsing a Rust file.
13    #[error("Failed to parse Rust file '{0}': {1}")]
14    Syn(PathBuf, #[source] syn::Error),
15
16    /// An error that occurs when walking a directory.
17    #[error("Error walking directory '{0}': {1}")]
18    WalkDir(PathBuf, #[source] walkdir::Error),
19
20    /// An error that occurs when parsing an attribute.
21    #[error("Attribute parsing error in file '{0}': {1}")]
22    AttributeParse(PathBuf, #[source] darling::Error),
23
24    /// An error that occurs when validating attributes.
25    #[error("Attribute validation error in file '{0}': {1}")]
26    AttributeValidation(PathBuf, #[source] EsFluentCoreError),
27
28    /// An error that occurs when a required attribute is missing.
29    #[error("Missing required attribute data in file '{0}': {1}")]
30    MissingAttribute(PathBuf, String),
31
32    /// An internal logic error.
33    #[error("Internal logic error: {0}")]
34    Internal(String),
35}