summaryrefslogtreecommitdiff
path: root/src/token.rs
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2025-01-06 12:21:06 +1300
committerBen Bridle <ben@derelict.engineering>2025-01-06 17:16:24 +1300
commita78feb46aefaf8e8950e9b029984e9ff98fe69b0 (patch)
treed524c0656416e27484f8c0ae709f71558ea69bb6 /src/token.rs
parent13cb719b87bcef41c4dd398f5a651ddb2b561e0d (diff)
downloadmarkdown-a78feb46aefaf8e8950e9b029984e9ff98fe69b0.zip
Rewrite the library a second timev2.0.0
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,
+ }
+ }
+}