Function parse_hyperlinks::parser::restructured_text::rst_text2label
source · pub fn rst_text2label(i: &str) -> IResult<&str, (Cow<'_, str>, Cow<'_, str>)>
Expand description
Parse a RestructuredText reference link.
The caller must guarantee, that
- the parser is at the input start (no bytes exist before).
- the preceding bytes are whitespaces or newline, or
- the preceding bytes are whitespaces or newline, followed by one of:
([<'"
use parse_hyperlinks::parser::Link;
use parse_hyperlinks::parser::restructured_text::rst_text2label;
use std::borrow::Cow;
assert_eq!(
rst_text2label("linktext_ abc"),
Ok((" abc", (Cow::from("linktext"), Cow::from("linktext"))))
);
assert_eq!(
rst_text2label("`link text`_ abc"),
Ok((" abc", (Cow::from("link text"), Cow::from("link text"))))
);
assert_eq!(
rst_text2label("`link text<link label_>`_ abc"),
Ok((" abc", (Cow::from("link text"), Cow::from("link label"))))
);
assert_eq!(
rst_text2label("`link text`__ abc"),
Ok((" abc", (Cow::from("link text"), Cow::from("_"))))
);