Add parsers for inactive timestamp range duration and inactive timestamp.

This commit is contained in:
Tom Alexander 2023-04-21 19:21:42 -04:00
parent a947ab0955
commit ad27f34620
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
1 changed files with 30 additions and 2 deletions

View File

@ -1,7 +1,15 @@
use nom::branch::alt;
use nom::bytes::complete::is_not;
use nom::bytes::complete::tag;
use nom::bytes::complete::tag_no_case;
use nom::character::complete::digit1;
use nom::character::complete::line_ending;
use nom::character::complete::space0;
use nom::character::complete::space1;
use nom::combinator::eof;
use nom::combinator::recognize;
use nom::combinator::verify;
use nom::sequence::tuple;
use super::Context;
use crate::error::Res;
@ -35,10 +43,30 @@ fn inactive_timestamp_range_duration<'r, 's>(
context: Context<'r, 's>,
input: &'s str,
) -> Res<&'s str, &'s str> {
todo!()
recognize(tuple((
tag("["),
is_not("\r\n]"),
tag("]--["),
is_not("\r\n]"),
tag("]"),
space1,
tag("=>"),
space1,
digit1,
tag(":"),
verify(digit1, |mm: &str| mm.len() == 2),
space0,
alt((line_ending, eof)),
)))(input)
}
#[tracing::instrument(ret, level = "debug")]
fn inactive_timestamp<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, &'s str> {
todo!()
recognize(tuple((
tag("["),
is_not("\r\n]"),
tag("]"),
space0,
alt((line_ending, eof)),
)))(input)
}