Add a helper function for logging during debugging.
This commit is contained in:
parent
1d06d95bb1
commit
f21385a901
@ -33,7 +33,7 @@ pub fn standard_set_object<'r, 's>(
|
|||||||
context: Context<'r, 's>,
|
context: Context<'r, 's>,
|
||||||
input: OrgSource<'s>,
|
input: OrgSource<'s>,
|
||||||
) -> Res<OrgSource<'s>, Object<'s>> {
|
) -> Res<OrgSource<'s>, Object<'s>> {
|
||||||
alt((
|
let (remaining, object) = alt((
|
||||||
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
||||||
map(parser_with_context!(subscript)(context), Object::Subscript),
|
map(parser_with_context!(subscript)(context), Object::Subscript),
|
||||||
map(
|
map(
|
||||||
@ -82,7 +82,8 @@ pub fn standard_set_object<'r, 's>(
|
|||||||
map(parser_with_context!(angle_link)(context), Object::AngleLink),
|
map(parser_with_context!(angle_link)(context), Object::AngleLink),
|
||||||
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
||||||
map(parser_with_context!(plain_text)(context), Object::PlainText),
|
map(parser_with_context!(plain_text)(context), Object::PlainText),
|
||||||
))(input)
|
))(input)?;
|
||||||
|
Ok((remaining, object))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
||||||
@ -90,7 +91,7 @@ pub fn minimal_set_object<'r, 's>(
|
|||||||
context: Context<'r, 's>,
|
context: Context<'r, 's>,
|
||||||
input: OrgSource<'s>,
|
input: OrgSource<'s>,
|
||||||
) -> Res<OrgSource<'s>, Object<'s>> {
|
) -> Res<OrgSource<'s>, Object<'s>> {
|
||||||
alt((
|
let (remaining, object) = alt((
|
||||||
map(parser_with_context!(subscript)(context), Object::Subscript),
|
map(parser_with_context!(subscript)(context), Object::Subscript),
|
||||||
map(
|
map(
|
||||||
parser_with_context!(superscript)(context),
|
parser_with_context!(superscript)(context),
|
||||||
@ -103,7 +104,8 @@ pub fn minimal_set_object<'r, 's>(
|
|||||||
),
|
),
|
||||||
parser_with_context!(text_markup)(context),
|
parser_with_context!(text_markup)(context),
|
||||||
map(parser_with_context!(plain_text)(context), Object::PlainText),
|
map(parser_with_context!(plain_text)(context), Object::PlainText),
|
||||||
))(input)
|
))(input)?;
|
||||||
|
Ok((remaining, object))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
||||||
@ -111,7 +113,7 @@ pub fn any_object_except_plain_text<'r, 's>(
|
|||||||
context: Context<'r, 's>,
|
context: Context<'r, 's>,
|
||||||
input: OrgSource<'s>,
|
input: OrgSource<'s>,
|
||||||
) -> Res<OrgSource<'s>, Object<'s>> {
|
) -> Res<OrgSource<'s>, Object<'s>> {
|
||||||
alt((
|
let (remaining, object) = alt((
|
||||||
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
||||||
map(parser_with_context!(subscript)(context), Object::Subscript),
|
map(parser_with_context!(subscript)(context), Object::Subscript),
|
||||||
map(
|
map(
|
||||||
@ -159,7 +161,8 @@ pub fn any_object_except_plain_text<'r, 's>(
|
|||||||
map(parser_with_context!(plain_link)(context), Object::PlainLink),
|
map(parser_with_context!(plain_link)(context), Object::PlainLink),
|
||||||
map(parser_with_context!(angle_link)(context), Object::AngleLink),
|
map(parser_with_context!(angle_link)(context), Object::AngleLink),
|
||||||
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
||||||
))(input)
|
))(input)?;
|
||||||
|
Ok((remaining, object))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
||||||
@ -168,7 +171,7 @@ pub fn regular_link_description_object_set<'r, 's>(
|
|||||||
input: OrgSource<'s>,
|
input: OrgSource<'s>,
|
||||||
) -> Res<OrgSource<'s>, Object<'s>> {
|
) -> Res<OrgSource<'s>, Object<'s>> {
|
||||||
// TODO: It can also contain another link, but only when it is a plain or angle link. It can contain square brackets, but not ]]
|
// TODO: It can also contain another link, but only when it is a plain or angle link. It can contain square brackets, but not ]]
|
||||||
alt((
|
let (remaining, object) = alt((
|
||||||
map(
|
map(
|
||||||
parser_with_context!(export_snippet)(context),
|
parser_with_context!(export_snippet)(context),
|
||||||
Object::ExportSnippet,
|
Object::ExportSnippet,
|
||||||
@ -187,7 +190,8 @@ pub fn regular_link_description_object_set<'r, 's>(
|
|||||||
),
|
),
|
||||||
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
map(parser_with_context!(org_macro)(context), Object::OrgMacro),
|
||||||
parser_with_context!(minimal_set_object)(context),
|
parser_with_context!(minimal_set_object)(context),
|
||||||
))(input)
|
))(input)?;
|
||||||
|
Ok((remaining, object))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
||||||
@ -195,7 +199,7 @@ pub fn table_cell_set_object<'r, 's>(
|
|||||||
context: Context<'r, 's>,
|
context: Context<'r, 's>,
|
||||||
input: OrgSource<'s>,
|
input: OrgSource<'s>,
|
||||||
) -> Res<OrgSource<'s>, Object<'s>> {
|
) -> Res<OrgSource<'s>, Object<'s>> {
|
||||||
alt((
|
let (remaining, object) = alt((
|
||||||
map(parser_with_context!(citation)(context), Object::Citation),
|
map(parser_with_context!(citation)(context), Object::Citation),
|
||||||
map(
|
map(
|
||||||
parser_with_context!(export_snippet)(context),
|
parser_with_context!(export_snippet)(context),
|
||||||
@ -220,5 +224,6 @@ pub fn table_cell_set_object<'r, 's>(
|
|||||||
map(parser_with_context!(target)(context), Object::Target),
|
map(parser_with_context!(target)(context), Object::Target),
|
||||||
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
map(parser_with_context!(timestamp)(context), Object::Timestamp),
|
||||||
parser_with_context!(minimal_set_object)(context),
|
parser_with_context!(minimal_set_object)(context),
|
||||||
))(input)
|
))(input)?;
|
||||||
|
Ok((remaining, object))
|
||||||
}
|
}
|
||||||
|
@ -155,3 +155,16 @@ pub fn not_yet_implemented() -> Res<OrgSource<'static>, ()> {
|
|||||||
"Not implemented yet.".into(),
|
"Not implemented yet.".into(),
|
||||||
))));
|
))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(dead_code)]
|
||||||
|
#[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))]
|
||||||
|
/// Text from the current point until the next line break or end of file
|
||||||
|
///
|
||||||
|
/// Useful for debugging.
|
||||||
|
pub fn text_until_eol<'r, 's>(
|
||||||
|
input: OrgSource<'s>,
|
||||||
|
) -> Result<&'s str, nom::Err<CustomError<OrgSource<'s>>>> {
|
||||||
|
let line = recognize(many_till(anychar, alt((line_ending, eof))))(input)
|
||||||
|
.map(|(_remaining, line)| Into::<&str>::into(line))?;
|
||||||
|
Ok(line.trim())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user