summaryrefslogtreecommitdiff
path: root/src/token.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/token.rs')
-rw-r--r--src/token.rs24
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,
+ }
+ }
+}