[−][src]Function parse_hyperlinks::parser::take_link
pub fn take_link(i: &str) -> IResult<&str, Link<'_>>
Consumes the input until it finds an inline link, a reference link or a link reference definition.
The parser consumes the finding and returns Ok((remaining_input, Link)) or some error.
Basic usage
use parse_hyperlinks::parser::Link; use parse_hyperlinks::parser::take_link; use std::borrow::Cow; let i = r#"[a]: b 'c' .. _d: e ---[f](g 'h')---`i <j>`_--- ---[k][l]--- ---<a href="m" title="n">o</a>--- "#; let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Label2Dest(Cow::from("a"), Cow::from("b"), Cow::from("c"))); let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Label2Dest(Cow::from("d"), Cow::from("e"), Cow::from(""))); let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Text2Dest(Cow::from("f"), Cow::from("g"), Cow::from("h"))); let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Text2Dest(Cow::from("i"), Cow::from("j"), Cow::from(""))); let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Text2Label(Cow::from("k"), Cow::from("l"))); let (i, r) = take_link(i).unwrap(); assert_eq!(r, Link::Text2Dest(Cow::from("o"), Cow::from("m"), Cow::from("n")));