diff --git a/src/parser/text_markup.rs b/src/parser/text_markup.rs index 48f6eea..922d3f6 100644 --- a/src/parser/text_markup.rs +++ b/src/parser/text_markup.rs @@ -179,7 +179,8 @@ fn _text_markup_object<'b, 'g, 'r, 's, 'c>( ) -> Res, Vec>> { let (remaining, _) = pre(context, input)?; let (remaining, open) = tag(marker_symbol)(remaining)?; - let (remaining, _peek_not_whitespace) = peek(not(multispace1))(remaining)?; + let (remaining, _peek_not_whitespace) = + peek(verify(anychar, |c| !c.is_whitespace() && *c != '\u{200B}'))(remaining)?; let text_markup_end_specialized = text_markup_end(open.into()); let parser_context = ContextElement::ExitMatcherNode(ExitMatcherNode { class: ExitClass::Gamma, @@ -277,7 +278,6 @@ pub fn pre<'b, 'g, 'r, 's>( None | Some('\r') | Some('\n') | Some(' ') | Some('\t') | Some('-') | Some('(') | Some('{') | Some('\'') | Some('"') | Some('<') => {} Some(_) => { - // Not at start of line, cannot be a heading return Err(nom::Err::Error(CustomError::MyError(MyError( "Not a valid pre character for text markup.".into(), ))));