From 175ff1e6c4556d394ac1b39ee4d90abcb584ee77 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Mon, 11 Dec 2023 14:49:18 -0500 Subject: [PATCH] Implement the new fields for LaTeX environment. --- src/parser/latex_environment.rs | 3 ++- src/types/lesser_element.rs | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/parser/latex_environment.rs b/src/parser/latex_environment.rs index 6503a66..cfcc344 100644 --- a/src/parser/latex_environment.rs +++ b/src/parser/latex_environment.rs @@ -57,7 +57,7 @@ where let (remaining, _end) = latex_environment_end_specialized(&parser_context, remaining)?; let value_end = remaining; - let (remaining, _trailing_ws) = + let (remaining, post_blank) = maybe_consume_trailing_whitespace_if_not_exiting(context, remaining)?; let source = get_consumed(input, remaining); let value = get_consumed(value_start, value_end); @@ -70,6 +70,7 @@ where affiliated_keywords, ), value: value.into(), + post_blank: post_blank.map(Into::<&str>::into), }, )) } diff --git a/src/types/lesser_element.rs b/src/types/lesser_element.rs index 17aca5d..e4eab1e 100644 --- a/src/types/lesser_element.rs +++ b/src/types/lesser_element.rs @@ -173,6 +173,7 @@ pub struct LatexEnvironment<'s> { pub source: &'s str, pub affiliated_keywords: AffiliatedKeywords<'s>, pub value: &'s str, + pub post_blank: Option<&'s str>, } /// A line number used in switches to lesser blocks. @@ -425,11 +426,15 @@ impl<'s> StandardProperties<'s> for LatexEnvironment<'s> { } fn get_contents<'b>(&'b self) -> Option<&'s str> { - todo!() + None } fn get_post_blank(&self) -> PostBlank { - todo!() + self.post_blank + .map(|text| text.lines().count()) + .unwrap_or(0) + .try_into() + .expect("Too much post-blank to fit into a PostBlank.") } }