Combine the error types.

This commit is contained in:
Tom Alexander
2023-04-21 18:36:01 -04:00
parent 04dfffc000
commit a1724dae52
23 changed files with 57 additions and 68 deletions

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag;
@@ -13,9 +16,6 @@ use nom::sequence::tuple;
use super::util::get_consumed;
use super::Context;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::error::Res;
use crate::parser::parser_context::ContextElement;
use crate::parser::parser_with_context::parser_with_context;
use crate::parser::util::exit_matcher_parser;

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use crate::parser::comment::comment;
use crate::parser::element_parser::element;
use crate::parser::exiting::ExitClass;
@@ -25,7 +28,6 @@ use nom::multi::many_till;
use nom::sequence::tuple;
use super::element::Element;
use super::error::Res;
use super::object::Object;
use super::parser_with_context::parser_with_context;
use super::source::Source;

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::bytes::complete::tag;
use nom::bytes::complete::tag_no_case;
@@ -12,9 +15,6 @@ use nom::sequence::tuple;
use super::Context;
use crate::parser::element_parser::element;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::error::Res;
use crate::parser::exiting::ExitClass;
use crate::parser::parser_context::ContextElement;
use crate::parser::parser_context::ExitMatcherNode;

View File

@@ -1,8 +1,8 @@
use super::error::Res;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use crate::parser::element_parser::element;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::exiting::ExitClass;
use crate::parser::greater_element::DynamicBlock;
use crate::parser::lesser_element::Paragraph;

View File

@@ -2,7 +2,6 @@ use super::comment::comment;
use super::drawer::drawer;
use super::dynamic_block::dynamic_block;
use super::element::Element;
use super::error::Res;
use super::footnote_definition::footnote_definition;
use super::greater_block::greater_block;
use super::lesser_block::comment_block;
@@ -13,6 +12,9 @@ use super::lesser_block::verse_block;
use super::paragraph::paragraph;
use super::plain_list::plain_list;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use crate::parser::parser_with_context::parser_with_context;
use crate::parser::table::org_mode_table;
use nom::branch::alt;

View File

@@ -1,25 +0,0 @@
use nom::error::ErrorKind;
use nom::error::ParseError;
use nom::IResult;
pub type Res<T, U> = IResult<T, U, CustomError<T>>;
#[derive(Debug, PartialEq)]
pub enum CustomError<I> {
MyError(MyError<I>),
Nom(I, ErrorKind),
}
#[derive(Debug, PartialEq)]
pub struct MyError<I>(pub I);
impl<I> ParseError<I> for CustomError<I> {
fn from_error_kind(input: I, kind: ErrorKind) -> Self {
CustomError::Nom(input, kind)
}
fn append(_input: I, _kind: ErrorKind, mut other: Self) -> Self {
// Doesn't do append like VerboseError
other
}
}

View File

@@ -1,9 +1,9 @@
use super::error::Res;
use super::util::WORD_CONSTITUENT_CHARACTERS;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use crate::parser::element_parser::element;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::exiting::ExitClass;
use crate::parser::greater_element::FootnoteDefinition;
use crate::parser::parser_context::ContextElement;

View File

@@ -1,8 +1,8 @@
use super::error::Res;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use super::Context;
use crate::parser::element_parser::element;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::exiting::ExitClass;
use crate::parser::greater_element::GreaterBlock;
use crate::parser::parser_context::ContextElement;

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag_no_case;
@@ -12,7 +15,6 @@ use nom::combinator::verify;
use nom::multi::many_till;
use nom::sequence::tuple;
use super::error::Res;
use super::Context;
use crate::parser::exiting::ExitClass;
use crate::parser::lesser_element::CommentBlock;

View File

@@ -4,7 +4,6 @@ mod drawer;
mod dynamic_block;
mod element;
mod element_parser;
mod error;
mod exiting;
mod footnote_definition;
mod greater_block;

View File

@@ -1,9 +1,11 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::combinator::map;
use nom::combinator::not;
use crate::parser::object::Object;
use super::error::Res;
use super::parser_with_context::parser_with_context;
use super::plain_text::plain_text;
use super::Context;

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::combinator::eof;
use nom::combinator::recognize;
@@ -16,7 +19,6 @@ use crate::parser::util::maybe_consume_trailing_whitespace_if_not_exiting;
use crate::parser::util::start_of_line;
use super::element_parser::non_paragraph_element;
use super::error::Res;
use super::lesser_element::Paragraph;
use super::util::blank_line;
use super::util::get_consumed;

View File

@@ -1,8 +1,8 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use std::rc::Rc;
use super::error::CustomError;
use super::error::MyError;
use super::error::Res;
use super::list::List;
use super::list::Node;
use super::Context;

View File

@@ -1,12 +1,12 @@
use super::error::CustomError;
use super::error::MyError;
use super::error::Res;
use super::greater_element::PlainList;
use super::greater_element::PlainListItem;
use super::parser_with_context::parser_with_context;
use super::util::maybe_consume_trailing_whitespace_if_not_exiting;
use super::util::non_whitespace_character;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use crate::parser::element_parser::element;
use crate::parser::exiting::ExitClass;
use crate::parser::parser_context::ContextElement;

View File

@@ -1,11 +1,9 @@
use nom::combinator::not;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use super::error::Res;
use super::object::PlainText;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::combinator::not;
#[tracing::instrument(ret, level = "debug")]
pub fn plain_text<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, PlainText<'s>> {

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag;
@@ -13,9 +16,6 @@ use nom::multi::many_till;
use nom::sequence::tuple;
use super::Context;
use crate::parser::error::CustomError;
use crate::parser::error::MyError;
use crate::parser::error::Res;
use crate::parser::exiting::ExitClass;
use crate::parser::greater_element::NodeProperty;
use crate::parser::greater_element::PropertyDrawer;

View File

@@ -1,3 +1,6 @@
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag;
@@ -13,7 +16,6 @@ use nom::multi::many_till;
use nom::sequence::tuple;
use super::Context;
use crate::parser::error::Res;
use crate::parser::exiting::ExitClass;
use crate::parser::greater_element::TableRow;
use crate::parser::lesser_element::TableCell;

View File

@@ -1,10 +1,10 @@
use crate::parser::parser_with_context::parser_with_context;
use super::error::CustomError;
use super::error::MyError;
use super::error::Res;
use super::parser_context::ContextElement;
use super::Context;
use crate::error::CustomError;
use crate::error::MyError;
use crate::error::Res;
use nom::branch::alt;
use nom::character::complete::line_ending;
use nom::character::complete::multispace0;