use crate::ast::parser::{ParserInternalStatus, ParserMatchResult}; #[derive(Default)] struct EmphasisTmp { /// 强调开始的列 emphasis_begin_col: u16, /// 前缀,用于后缀匹配 prefix_count: String, /// 是否正在输入强调前缀 typing_emphasis_prefix: bool, /// 是否正在输入强调内容 typing_emphasis_content: bool, } #[derive(Default, PartialEq, Eq)] #[repr(u8)] enum Style { /// 无样式 #[default] None, /// 星号 Star, /// 下划线 Underline, } impl Style { /// 反转样式 pub fn invert(&self) -> Style { match self { Style::Underline => Style::Star, Style::Star => Style::Underline, Style::None => Style::None, } } } impl std::fmt::Display for Style { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Style::None => write!(f, ""), Style::Star => write!(f, "*"), Style::Underline => write!(f, "_"), } } } impl From