diff --git a/org_mode_samples/README.org b/org_mode_samples/README.org new file mode 100644 index 0000000..f04ae67 --- /dev/null +++ b/org_mode_samples/README.org @@ -0,0 +1 @@ +This folder contains org-mode documents that get automatically included as tests using build.rs. diff --git a/org_mode_samples/object/plain_link/with_trailing_whitespace.org b/org_mode_samples/object/plain_link/with_trailing_whitespace.org new file mode 100644 index 0000000..f2673d7 --- /dev/null +++ b/org_mode_samples/object/plain_link/with_trailing_whitespace.org @@ -0,0 +1 @@ +mailto:foo@bar.baz . diff --git a/src/parser/plain_link.rs b/src/parser/plain_link.rs index 0c7735a..c4dc464 100644 --- a/src/parser/plain_link.rs +++ b/src/parser/plain_link.rs @@ -11,6 +11,7 @@ use nom::combinator::verify; use nom::multi::many_till; use super::org_source::OrgSource; +use super::util::maybe_consume_object_trailing_whitespace_if_not_exiting; use crate::context::parser_with_context; use crate::context::ContextElement; use crate::context::ExitClass; @@ -61,6 +62,8 @@ pub fn plain_link<'b, 'g, 'r, 's>( let (remaining, _separator) = tag(":")(remaining)?; let (remaining, path) = path_plain(context, remaining)?; peek(parser_with_context!(post)(context))(remaining)?; + let (remaining, _trailing_whitespace) = + maybe_consume_object_trailing_whitespace_if_not_exiting(context, remaining)?; let source = get_consumed(input, remaining); Ok(( remaining,