diff options
Diffstat (limited to 'src/elements/line_element.rs')
-rw-r--r-- | src/elements/line_element.rs | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/elements/line_element.rs b/src/elements/line_element.rs deleted file mode 100644 index cc47b4b..0000000 --- a/src/elements/line_element.rs +++ /dev/null @@ -1,61 +0,0 @@ -pub enum LineElement { - Normal(String), - Bold(String), - Italic(String), - Monospace(String), - Math(String), - InternalLink(String), - ExternalLink(ExternalLink), -} - -impl LineElement { - /// Return only the character content, with none of the styling information. - pub fn as_plain_text(&self) -> &str { - match self { - LineElement::Normal(text) => text, - LineElement::Bold(text) => text, - LineElement::Italic(text) => text, - LineElement::Monospace(text) => text, - LineElement::Math(text) => text, - LineElement::InternalLink(label) => label, - LineElement::ExternalLink(ExternalLink { label, ..}) => label, - } - } -} - -pub struct ExternalLink { - pub label: String, - pub target: String, -} - -impl std::fmt::Display for LineElement { - fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { - let string = match self { - LineElement::Normal(text) => format!("{text}"), - LineElement::Bold(text) => format!("**{text}**"), - LineElement::Italic(text) => format!("_{text}_"), - LineElement::Monospace(text) => format!("`{text}`"), - LineElement::Math(text) => format!("${text}$"), - LineElement::InternalLink(text) => format!("[[{text}]]"), - LineElement::ExternalLink(ExternalLink { label, target }) => { - format!("[{label}]({target})") } - }; - f.write_str(&string) - } -} - -impl std::fmt::Debug for LineElement { - fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { - let string = match self { - LineElement::Normal(text) => format!("Normal ('{text}')"), - LineElement::Bold(text) => format!("Bold ('{text}')"), - LineElement::Italic(text) => format!("Italic ('{text}')"), - LineElement::Monospace(text) => format!("Monospace ('{text}')"), - LineElement::Math(text) => format!("Math ('{text}')"), - LineElement::InternalLink(text) => format!("InternalLink ('{text}')"), - LineElement::ExternalLink(ExternalLink { label, target }) => { - format!("ExternalLink (label:'{label}', target:'{target}')") } - }; - f.write_str(&string) - } -} |