Skip to main content

bash_ast/
error.rs

1use thiserror::Error;
2use tree_sitter::Range;
3
4#[derive(Debug, Error)]
5pub enum ParseError {
6    #[error("tree-sitter failed to initialize the bash language")]
7    LanguageInit,
8
9    #[error("tree-sitter returned no parse tree")]
10    NoTree,
11
12    #[error("unknown node kind `{kind}` at {range:?}")]
13    UnknownNode { kind: String, range: Range },
14
15    #[error("expected field `{field}` on `{parent_kind}` at {range:?}")]
16    MissingField {
17        parent_kind: String,
18        field: &'static str,
19        range: Range,
20    },
21
22    #[error("source contains a syntax error at {range:?}")]
23    SyntaxError { range: Range },
24}