pub mod is_emoji;
pub mod link_url;
pub mod parse_from_text;
pub mod utils;
#[allow(unused_imports)]
pub use crate::parser::link_url::punycode_warning::{
is_puny, punycode_decode_host, punycode_encode_host,
};
pub use crate::parser::link_url::LinkDestination;
#[derive(Debug, PartialEq, Eq, Serialize)]
#[serde(tag = "t", content = "c")]
pub enum Element<'a> {
Text(&'a str),
Tag(&'a str),
Linebreak,
Link {
destination: LinkDestination<'a>,
},
EmailAddress(&'a str),
BotCommandSuggestion(&'a str),
Bold(Vec<Element<'a>>),
Italics(Vec<Element<'a>>),
StrikeThrough(Vec<Element<'a>>),
LabeledLink {
label: Vec<Element<'a>>,
destination: LinkDestination<'a>,
},
InlineCode {
content: &'a str,
},
CodeBlock {
language: Option<&'a str>,
content: &'a str,
},
}
pub fn parse_markdown_text(input: &str) -> std::vec::Vec<Element> {
parse_from_text::parse_all(input)
}
pub fn parse_only_text(input: &str) -> std::vec::Vec<Element> {
parse_from_text::parse_only_text(input)
}
pub fn parse_desktop_set(input: &str) -> std::vec::Vec<Element> {
parse_from_text::parse_desktop_set(input)
}