///|
/// Error type shared by the lexer, parser, and evaluator.
pub(all) suberror PromqlError {
LexError(String, Int)
ParseError(String, Int)
EvalError(String)
}
///|
pub impl Show for PromqlError with fn output(self, logger) {
match self {
LexError(message, offset) => logger <+ "lex error at \{offset}: \{message}"
ParseError(message, offset) =>
logger <+ "parse error at \{offset}: \{message}"
EvalError(message) => logger <+ "evaluation error: \{message}"
}
}