diff --git a/src/construct/text.rs b/src/construct/text.rs index a461d02..af04afe 100644 --- a/src/construct/text.rs +++ b/src/construct/text.rs @@ -32,7 +32,7 @@ use crate::subtokenize::Subresult; use crate::tokenizer::Tokenizer; /// Characters that can start something in text. -const MARKERS: [u8; 16] = [ +const MARKERS: [u8; 17] = [ b'!', // `label_start_image` b'$', // `raw_text` (math (text)) b'&', // `character_reference` @@ -49,6 +49,7 @@ const MARKERS: [u8; 16] = [ b'w', // `gfm_autolink_literal` (`www.` kind) b'{', // `mdx_expression_text` b'~', // `attention` (gfm strikethrough) + b':', // `task` (custom task) ]; /// Start of text. @@ -163,6 +164,13 @@ pub fn before(tokenizer: &mut Tokenizer) -> State { ); State::Retry(StateName::MdxExpressionTextStart) } + Some(b':') => { + tokenizer.attempt( + State::Next(StateName::TextBefore), + State::Next(StateName::TextBeforeData), + ); + State::Retry(StateName::TaskStart) + } _ => State::Retry(StateName::TextBeforeData), } }