//! 统一错误类型定义

use thiserror::Error;

/// SFC 编译错误类型
#[derive(Debug, Error)]
pub enum SfcError {
    /// IO 错误
    #[error("IO 错误: {0}")]
    IoError(#[from] std::io::Error),
    /// 正则表达式错误
    #[error("正则表达式错误: {0}")]
    RegexError(String),
    /// 解析错误
    #[error("解析失败: {0}")]
    ParseError(String),
    /// 编译错误
    #[error("编译失败: {0}")]
    CompileError(String),
}

/// 结果类型别名
pub type SfcResult<T> = Result<T, SfcError>;