Skip to main content

clankerdiff_syntax/
error.rs

1use arborium_tree_sitter::{LanguageError, QueryError};
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum SyntaxError {
6    #[error("syntax input requires {attempted} bytes, exceeding the {limit}-byte limit")]
7    InputLimit { limit: usize, attempted: usize },
8    #[error("missing syntax grammar: {language}")]
9    MissingGrammar { language: String },
10    #[error("failed to compile a syntax query for {language}: {source}")]
11    Query {
12        language: String,
13        #[source]
14        source: QueryError,
15    },
16    #[error("failed to configure the syntax parser: {0}")]
17    Language(#[from] LanguageError),
18    #[error("syntax parser returned no tree")]
19    NoTree,
20}