Compare value.

This commit is contained in:
Tom Alexander
2023-10-05 03:46:14 -04:00
parent 6f0439bb6d
commit 4ba9d7439a
3 changed files with 16 additions and 8 deletions

View File

@@ -1,14 +1,13 @@
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag;
use nom::character::complete::line_ending;
use nom::combinator::eof;
use nom::combinator::recognize;
use nom::multi::many0;
use nom::sequence::tuple;
use super::keyword::affiliated_keyword;
use super::org_source::OrgSource;
use super::util::get_name;
use super::util::org_line_ending;
use crate::context::RefContext;
use crate::error::Res;
use crate::parser::util::get_consumed;
@@ -22,9 +21,8 @@ pub(crate) fn diary_sexp<'b, 'g, 'r, 's>(
) -> Res<OrgSource<'s>, DiarySexp<'s>> {
let (input, affiliated_keywords) = many0(affiliated_keyword)(input)?;
start_of_line(input)?;
let (remaining, _clock) = tag("%%(")(input)?;
let (remaining, _contents) = is_not("\r\n")(remaining)?;
let (remaining, _eol) = alt((line_ending, eof))(remaining)?;
let (remaining, value) = recognize(tuple((tag("%%("), is_not("\r\n"))))(input)?;
let (remaining, _eol) = org_line_ending(remaining)?;
let source = get_consumed(input, remaining);
Ok((
@@ -32,6 +30,7 @@ pub(crate) fn diary_sexp<'b, 'g, 'r, 's>(
DiarySexp {
source: source.into(),
name: get_name(&affiliated_keywords),
value: Into::<&str>::into(value),
},
))
}