fml 0.6.3

Friendly Markup Language
Documentation
// use super::{FmlFunction, FmlValue, Quote};
// use crate::ast::{
// 	FmlValues, FunctionToken, Token,
// 	token::{self, Tokens},
// };
// use chumsky::Parser;

// impl TryFrom<Token> for FmlValue {
// 	type Error = ();

// 	fn try_from(value: Token) -> Result<Self, Self::Error> {
// 		Ok(match value {
// 			Token::Linebreak => Self::Linebreak,
// 			Token::CodeBlock { lang, body } => Self::CodeBlock { lang, body },
// 			Token::CodeInline(s) => Self::CodeInline(s),
// 			Token::Heading1(tokens) => Self::Heading1(tokens.try_into()?),
// 			Token::Heading2(tokens) => Self::Heading2(tokens.try_into()?),
// 			Token::Heading3(tokens) => Self::Heading3(tokens.try_into()?),
// 			Token::SupLine(tokens) => Self::Superline(tokens.try_into()?),
// 			Token::SubLine(tokens) => Self::Subline(tokens.try_into()?),
// 			Token::ListItem(tokens) => Self::ListItem(tokens.try_into()?),
// 			Token::Quote(s) => {
// 				let p = crate::parser::functions::fml_values();
// 				let tokens = p.parse(&s).into_result().map_err(|_| ())?;
// 				let values = tokens.try_into()?;
// 				Quote(values)
// 			}
// 			Token::CwSpoiler(tokens) => Self::ContentWarning {
// 				reason: "Spoilers".into(),
// 				body: tokens.try_into()?,
// 			},
// 			Token::Hyperlink { fml, uri } => Self::Hyperlink {
// 				fml: fml.try_into()?,
// 				uri,
// 			},
// 			Token::Bold(tokens) => Self::Bold(tokens.try_into()?),
// 			Token::Italic(tokens) => Self::Italic(tokens.try_into()?),
// 			Token::Strikethrough(tokens) => Self::Strikethrough(tokens.try_into()?),
// 			Token::Underline(tokens) => Self::Underline(tokens.try_into()?),
// 			Token::Superscript(tokens) => Self::Superscript(tokens.try_into()?),
// 			Token::Subscript(tokens) => Self::Subscript(tokens.try_into()?),
// 			Token::Function(FunctionToken { name, params, body }) => FmlFunction {
// 				name,
// 				params,
// 				body: body.try_into()?,
// 			}
// 			.interpret(),
// 			Token::Typst(s) => Self::Typst(s),
// 			Token::Text(s) => Self::Text(s),
// 		})
// 	}
// }

// impl TryFrom<Tokens> for FmlValues {
// 	type Error = ();

// 	fn try_from(tokens: Tokens) -> Result<Self, Self::Error> {
// 		let mut vec = vec![];
// 		for t in tokens.0 {
// 			vec.push(t.try_into()?);
// 		}
// 		Ok(Self(vec))
// 	}
// }