From 3502a31b2875f119503af77dfcbc3fcd9cdc8658 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Thu, 23 Mar 2023 20:03:45 -0400 Subject: [PATCH] Simple version of the headline parser done. --- src/parser/document.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/parser/document.rs b/src/parser/document.rs index a84a0d15..e1feb20f 100644 --- a/src/parser/document.rs +++ b/src/parser/document.rs @@ -18,6 +18,7 @@ use crate::parser::parser_context::ExitMatcherNode; use super::element::Element; use super::error::Res; +use super::object::Object; use super::parser_with_context::parser_with_context; use super::source::Source; use super::Context; @@ -89,7 +90,10 @@ fn heading<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, Hea todo!() } -fn headline<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &'s str> { +fn headline<'r, 's>( + context: Context<'r, 's>, + input: &'s str, +) -> Res<&'s str, (usize, &'s str, Vec>, &'s str)> { let document_root = context.get_document_root().unwrap(); let preceding_character = get_one_before(document_root, input) .map(|slice| slice.chars().next()) @@ -112,14 +116,13 @@ fn headline<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &' })); let standard_set_object_matcher = parser_with_context!(standard_set_object)(&parser_context); - let foo = tuple(( + let ret = tuple(( many1_count(tag("*")), space1, many1(standard_set_object_matcher), alt((line_ending, eof)), - ))(input)?; - - todo!() + ))(input); + ret } fn headline_end<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &'s str> {