1use std::io;2use std::str;34#[derive(Debug)]5pub enum Error {6 IncompleteParse,7 ParsingError(String, nom::error::ErrorKind),8 IoError(io::Error),9}1011impl From<nom::Err<nom::error::Error<&str>>> for Error {12 fn from(e: nom::Err<nom::error::Error<&str>>) -> Self {13 match e {14 nom::Err::Incomplete(_) => Error::IncompleteParse,15 nom::Err::Error(e) | nom::Err::Failure(e) => {16 Error::ParsingError(e.input.to_string(), e.code)17 }18 }19 }20}2122impl From<io::Error> for Error {23 fn from(e: io::Error) -> Self {24 Error::IoError(e)25 }26}