Create structure for angle links.

This commit is contained in:
Tom Alexander
2023-07-13 22:42:42 -04:00
parent 79ac835641
commit ed8b1405db
5 changed files with 55 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ pub enum Object<'s> {
RadioLink(RadioLink<'s>),
RadioTarget(RadioTarget<'s>),
PlainLink(PlainLink<'s>),
AngleLink(AngleLink<'s>),
Bold(Bold<'s>),
Italic(Italic<'s>),
Underline(Underline<'s>),
@@ -80,6 +81,13 @@ pub struct PlainLink<'s> {
pub path: &'s str,
}
#[derive(Debug, PartialEq)]
pub struct AngleLink<'s> {
pub source: &'s str,
pub link_type: &'s str,
pub path: &'s str,
}
impl<'s> Source<'s> for Object<'s> {
fn get_source(&'s self) -> &'s str {
match self {
@@ -94,6 +102,7 @@ impl<'s> Source<'s> for Object<'s> {
Object::RadioLink(obj) => obj.source,
Object::RadioTarget(obj) => obj.source,
Object::PlainLink(obj) => obj.source,
Object::AngleLink(obj) => obj.source,
}
}
}
@@ -157,3 +166,9 @@ impl<'s> Source<'s> for PlainLink<'s> {
self.source
}
}
impl<'s> Source<'s> for AngleLink<'s> {
fn get_source(&'s self) -> &'s str {
self.source
}
}