#[derive(Clone)] pub enum Token { Normal(String), Bold(String), Italic(String), Monospace(String), Math(String), InternalLink(String), ExternalLink { label: String, path: String }, } impl AsRef 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, } } }