Implement all of regular link except for pathreg.

This commit is contained in:
Tom Alexander
2023-04-23 16:53:02 -04:00
parent 3600f46e3b
commit 8a828195bd
3 changed files with 98 additions and 5 deletions

View File

@@ -4,6 +4,7 @@ use nom::combinator::not;
use super::parser_with_context::parser_with_context;
use super::plain_text::plain_text;
use super::regular_link::regular_link;
use super::Context;
use crate::error::Res;
use crate::parser::object::Object;
@@ -19,6 +20,10 @@ pub fn standard_set_object<'r, 's>(
alt((
parser_with_context!(text_markup)(context),
map(
parser_with_context!(regular_link)(context),
Object::RegularLink,
),
map(parser_with_context!(plain_text)(context), Object::PlainText),
))(input)
}
@@ -43,5 +48,20 @@ pub fn any_object_except_plain_text<'r, 's>(
input: &'s str,
) -> Res<&'s str, Object<'s>> {
// Used for exit matchers so this does not check exit matcher condition.
alt((parser_with_context!(text_markup)(context),))(input)
alt((
parser_with_context!(text_markup)(context),
map(
parser_with_context!(regular_link)(context),
Object::RegularLink,
),
))(input)
}
#[tracing::instrument(ret, level = "debug")]
pub fn regular_link_description_object_set<'r, 's>(
context: Context<'r, 's>,
input: &'s str,
) -> Res<&'s str, Object<'s>> {
// TODO: minimal set of objects as well as export snippets, inline babel calls, inline source blocks, macros, and statistics cookies. It can also contain another link, but only when it is a plain or angle link. It can contain square brackets, but not ]]
alt((parser_with_context!(minimal_set_object)(context),))(input)
}