pub fn parse(input: &str) -> Result<Node<'_>>Expand description
Parses input.
§Returns
Document Node.
All nodes parsed from input are children of the document Node.
§Errors
Returns DimlError when parsing fails.
§Panics
No panics.
§Examples
Input contains the following text:
.A Ann
.B Bob
.C Clyde
.D Daveuse diml::parse;
let doc = parse(input).unwrap();
let node_a = doc.children().next().unwrap();
assert_eq!(1, node_a.line());
assert_eq!("A", node_a.name());
assert_eq!("Ann", node_a.content().trim());
let mut children_a = node_a.children();
let node_b = children_a.next().unwrap();
assert_eq!(2, node_b.line());
assert_eq!("B", node_b.name());
assert_eq!("Bob", node_b.content().trim());
let node_c = children_a.next().unwrap();
assert_eq!(3, node_c.line());
assert_eq!("C", node_c.name());
assert_eq!("Clyde", node_c.content().trim());
let node_d = node_c.children().next().unwrap();
assert_eq!(4, node_d.line());
assert_eq!("D", node_d.name());
assert_eq!("Dave", node_d.content().trim());