diff --git a/src/parser/radio_link.rs b/src/parser/radio_link.rs index e51927f..d091977 100644 --- a/src/parser/radio_link.rs +++ b/src/parser/radio_link.rs @@ -32,6 +32,7 @@ pub fn radio_link<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s s for radio_target in radio_targets { let rematched_target = rematch_target(context, radio_target, input); if let Ok((remaining, rematched_target)) = rematched_target { + let (remaining, _) = space0(remaining)?; let source = get_consumed(input, remaining); return Ok(( remaining, diff --git a/src/parser/text_markup.rs b/src/parser/text_markup.rs index f2d85f3..f6fb816 100644 --- a/src/parser/text_markup.rs +++ b/src/parser/text_markup.rs @@ -205,7 +205,7 @@ pub fn pre<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, ()> match preceding_character { // If None, we are at the start of the file which is technically the beginning of a line. None | Some('\r') | Some('\n') | Some(' ') | Some('\t') | Some('-') | Some('(') - | Some('{') | Some('\'') | Some('"') => {} + | Some('{') | Some('\'') | Some('"') | Some('<') => {} Some(_) => { // Not at start of line, cannot be a heading return Err(nom::Err::Error(CustomError::MyError(MyError( @@ -218,7 +218,7 @@ pub fn pre<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, ()> #[tracing::instrument(ret, level = "debug")] pub fn post<'r, 's>(context: Context<'r, 's>, input: &'s str) -> Res<&'s str, ()> { - let (remaining, _) = alt((recognize(one_of(" \r\n\t-.,;:!?')}[\"")), line_ending))(input)?; + let (remaining, _) = alt((recognize(one_of(" \r\n\t-.,;:!?')}[\">")), line_ending))(input)?; Ok((remaining, ())) }