webwire_cli/idl/
errors.rs1use std::fmt;
2
3use crate::idl::common::Span;
4
5#[derive(Debug, PartialEq)]
6pub enum ParseError<'a> {
7 Nom(nom::Err<nom::error::Error<Span<'a>>>),
8 TrailingGarbage(Span<'a>),
9}
10
11impl<'a> fmt::Display for ParseError<'a> {
12 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
13 match self {
14 ParseError::Nom(e) => write!(f, "Parsing failed: {}", e),
15 ParseError::TrailingGarbage(e) => write!(f, "File contains trailing garbage: {}", e),
16 }
17 }
18}
19
20impl std::error::Error for ParseError<'_> {}