genex/
error.rs

1use thiserror::Error;
2
3/// The `tracery` error type
4#[derive(Debug, Error)]
5#[non_exhaustive]
6pub enum Error {
7    /// Error encountered while parsing a rule
8    #[error("Error while parsing genx: {0}")]
9    ParseError(String),
10
11    /// A referenced key does not exist
12    #[error("Missing non-terminal: {0}")]
13    UnknownNonTerminalError(String),
14
15    /// Internal parser error. This should only happen if the grammar and the
16    /// parser are out of sync.
17    #[error("Internal parser error: {0}")]
18    InternalParserError(String),
19
20    /// Unknown modifier.
21    #[error("Unknown modifier: {0}")]
22    UnknownModifierError(String),
23}