Implement the new fields for radio target.

This commit is contained in:
Tom Alexander 2023-12-11 12:27:35 -05:00
parent b943f90766
commit 30c03b5529
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
2 changed files with 9 additions and 3 deletions

View File

@ -134,7 +134,7 @@ pub(crate) fn radio_target<'b, 'g, 'r, 's>(
))(remaining)?;
let (remaining, _closing) = tag(">>>")(remaining)?;
let (remaining, _trailing_whitespace) =
let (remaining, post_blank) =
maybe_consume_object_trailing_whitespace_if_not_exiting(context, remaining)?;
let source = get_consumed(input, remaining);
Ok((
@ -142,6 +142,7 @@ pub(crate) fn radio_target<'b, 'g, 'r, 's>(
RadioTarget {
source: source.into(),
value: raw_value.into(),
post_blank: post_blank.map(Into::<&str>::into),
children,
},
))

View File

@ -120,6 +120,7 @@ pub struct RegularLink<'s> {
pub struct RadioTarget<'s> {
pub source: &'s str,
pub value: &'s str,
pub post_blank: Option<&'s str>,
pub children: Vec<Object<'s>>,
}
@ -679,11 +680,15 @@ impl<'s> StandardProperties<'s> for RadioTarget<'s> {
}
fn get_contents<'b>(&'b self) -> Option<&'s str> {
todo!()
Some(self.value)
}
fn get_post_blank(&self) -> PostBlank {
todo!()
self.post_blank
.map(|post_blank| post_blank.chars().count())
.unwrap_or(0)
.try_into()
.expect("Too much post-blank to fit into a PostBlank.")
}
}