diff options
Diffstat (limited to 'src/token.rs')
-rw-r--r-- | src/token.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/token.rs b/src/token.rs new file mode 100644 index 0000000..c2b1179 --- /dev/null +++ b/src/token.rs @@ -0,0 +1,24 @@ +#[derive(Clone)] +pub enum Token { + Normal(String), + Bold(String), + Italic(String), + Monospace(String), + Math(String), + InternalLink(String), + ExternalLink { label: String, path: String }, +} + +impl AsRef<str> for Token { + fn as_ref(&self) -> &str { + match self { + Token::Normal(text) => text, + Token::Bold(text) => text, + Token::Italic(text) => text, + Token::Monospace(text) => text, + Token::Math(text) => text, + Token::InternalLink(label) => label, + Token::ExternalLink { label, ..} => label, + } + } +} |