use snafu::Snafu;
#[derive(Debug, Clone, PartialEq, Eq, Snafu)]
pub enum ParseError {
#[snafu(display("filter expression is empty"))]
EmptyExpression,
#[snafu(display("expected atom at byte {position}"))]
ExpectedAtom {
position: usize,
},
#[snafu(display("unexpected operator '{op}' at byte {position}"))]
UnexpectedOperator {
op: char,
position: usize,
},
#[snafu(display("unexpected character '{ch}' at byte {position}"))]
UnexpectedChar {
ch: char,
position: usize,
},
#[snafu(display("unmatched '(' at byte {position}"))]
UnmatchedOpenParen {
position: usize,
},
#[snafu(display("unmatched ')' at byte {position}"))]
UnmatchedCloseParen {
position: usize,
},
}