Create structure for plain links.
All checks were successful
organic-test Build organic-test has succeeded

This commit is contained in:
Tom Alexander
2023-07-13 18:18:07 -04:00
parent 357b6f25b7
commit dcec5c490a
5 changed files with 53 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ pub enum Object<'s> {
RegularLink(RegularLink<'s>),
RadioLink(RadioLink<'s>),
RadioTarget(RadioTarget<'s>),
PlainLink(PlainLink<'s>),
Bold(Bold<'s>),
Italic(Italic<'s>),
Underline(Underline<'s>),
@@ -72,6 +73,12 @@ pub struct RadioLink<'s> {
pub children: Vec<Object<'s>>,
}
#[derive(Debug, PartialEq)]
pub struct PlainLink<'s> {
pub source: &'s str,
pub children: Vec<Object<'s>>,
}
impl<'s> Source<'s> for Object<'s> {
fn get_source(&'s self) -> &'s str {
match self {
@@ -85,6 +92,7 @@ impl<'s> Source<'s> for Object<'s> {
Object::RegularLink(obj) => obj.source,
Object::RadioLink(obj) => obj.source,
Object::RadioTarget(obj) => obj.source,
Object::PlainLink(obj) => obj.source,
}
}
}
@@ -142,3 +150,9 @@ impl<'s> Source<'s> for RadioTarget<'s> {
self.source
}
}
impl<'s> Source<'s> for PlainLink<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}