mathhook_core/parser/
error.rs1use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub enum ParseError {
6 InvalidSyntax(String),
7 UnknownFunction(String),
8 UnbalancedParentheses,
9 InvalidNumber(String),
10 EmptyInput,
11 UnsupportedOperation(String),
12 SyntaxError(String),
13}
14
15impl std::fmt::Display for ParseError {
16 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17 match self {
18 ParseError::InvalidSyntax(msg) => write!(f, "Invalid syntax: {}", msg),
19 ParseError::UnknownFunction(name) => write!(f, "Unknown function: {}", name),
20 ParseError::UnbalancedParentheses => write!(f, "Unbalanced parentheses"),
21 ParseError::InvalidNumber(num) => write!(f, "Invalid number: {}", num),
22 ParseError::EmptyInput => write!(f, "Empty input"),
23 ParseError::UnsupportedOperation(op) => write!(f, "Unsupported operation: {}", op),
24 ParseError::SyntaxError(msg) => write!(f, "Syntax error: {}", msg),
25 }
26 }
27}
28
29impl std::error::Error for ParseError {}