Implement the new fields for planning.

This commit is contained in:
Tom Alexander 2023-12-15 12:55:05 -05:00
parent 2181993246
commit 57f566a7a1
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
2 changed files with 9 additions and 3 deletions

View File

@ -33,7 +33,7 @@ pub(crate) fn planning<'b, 'g, 'r, 's>(
many1(parser_with_context!(planning_parameter)(context))(remaining)?; many1(parser_with_context!(planning_parameter)(context))(remaining)?;
let (remaining, _trailing_ws) = tuple((space0, org_line_ending))(remaining)?; let (remaining, _trailing_ws) = tuple((space0, org_line_ending))(remaining)?;
let (remaining, _trailing_ws) = let (remaining, post_blank) =
maybe_consume_trailing_whitespace_if_not_exiting(context, remaining)?; maybe_consume_trailing_whitespace_if_not_exiting(context, remaining)?;
let source = get_consumed(input, remaining); let source = get_consumed(input, remaining);
@ -62,6 +62,7 @@ pub(crate) fn planning<'b, 'g, 'r, 's>(
scheduled, scheduled,
deadline, deadline,
closed, closed,
post_blank: post_blank.map(Into::<&str>::into),
}, },
)) ))
} }

View File

@ -141,6 +141,7 @@ pub struct Planning<'s> {
pub scheduled: Option<Timestamp<'s>>, pub scheduled: Option<Timestamp<'s>>,
pub deadline: Option<Timestamp<'s>>, pub deadline: Option<Timestamp<'s>>,
pub closed: Option<Timestamp<'s>>, pub closed: Option<Timestamp<'s>>,
pub post_blank: Option<&'s str>,
} }
#[derive(Debug)] #[derive(Debug)]
@ -391,11 +392,15 @@ impl<'s> StandardProperties<'s> for Planning<'s> {
} }
fn get_contents<'b>(&'b self) -> Option<&'s str> { fn get_contents<'b>(&'b self) -> Option<&'s str> {
todo!() None
} }
fn get_post_blank(&self) -> PostBlank { 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.")
} }
} }