1#[cfg(feature = "serde")]
2use serde::{Deserialize, Serialize};
3
4#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
5#[derive(Debug, Clone, PartialEq, thiserror::Error)]
6pub enum ParseError {
7 #[error("tree-sitter error.")]
8 TSError,
9 #[error("syntax error at {start_row}:{start_col} - {end_row}:{end_col}\n{snippet}")]
10 SyntaxError {
11 start_row: usize,
12 start_col: usize,
13 end_row: usize,
14 end_col: usize,
15 snippet: String,
16 },
17}
18
19pub type Result<T> = std::result::Result<T, ParseError>;