diff options
Diffstat (limited to 'src/parser.rs')
-rw-r--r-- | src/parser.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/parser.rs b/src/parser.rs index 09b3121..62c4d99 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -6,7 +6,7 @@ use nom::{ error::{Error, ErrorKind}, multi::separated_list1, sequence::delimited, - IResult, + IResult, Parser, }; // Temporary API @@ -14,7 +14,7 @@ use nom::{ pub fn parse_line(s: &str) -> IResult<&str, Option<Line>> { let (s, _) = space0(s)?; - let (s, line) = opt(parse_parts)(s)?; + let (s, line) = opt(parse_parts).parse(s)?; let (s, _) = parse_end_of_line(s)?; Ok((s, line)) } @@ -29,14 +29,14 @@ fn parse_parts(s: &str) -> IResult<&str, Line> { // Rest fn parse_options(s: &str) -> IResult<&str, Vec<String>> { - separated_list1(sep('|'), parse_term)(s) + separated_list1(sep('|'), parse_term).parse(s) } pub fn parse_term(s: &str) -> IResult<&str, String> { let mut term = String::from(""); let mut s = s; - while let Ok((_, c)) = peek(take::<usize, &str, ()>(1_usize))(s) { + while let Ok((_, c)) = peek(take::<usize, &str, ()>(1_usize)).parse(s) { if c == "[" { let (s1, cs) = take_until("]")(s)?; s = s1; @@ -66,7 +66,7 @@ pub fn parse_term(s: &str) -> IResult<&str, String> { fn parse_end_of_line(s: &str) -> IResult<&str, ()> { let (s, _) = space0(s)?; - let (s, _) = opt(parse_comment)(s)?; + let (s, _) = opt(parse_comment).parse(s)?; Ok((s, ())) } @@ -80,7 +80,7 @@ fn parse_comment(s: &str) -> IResult<&str, ()> { pub fn sep(c: char) -> impl FnMut(&str) -> IResult<&str, ()> { move |s: &str| { - let (s, _) = delimited(space0, char(c), space0)(s)?; + let (s, _) = delimited(space0, char(c), space0).parse(s)?; Ok((s, ())) } } @@ -94,19 +94,19 @@ mod tests { use nom::{character::complete::newline, multi::many0}; fn parse(s: &str) -> IResult<&str, Vec<Line>> { - let (s, lines) = many0(parse_next)(s)?; - let (s, _) = many0(parse_empty_line)(s)?; + let (s, lines) = many0(parse_next).parse(s)?; + let (s, _) = many0(parse_empty_line).parse(s)?; Ok((s, lines)) } fn parse_next(s: &str) -> IResult<&str, Line> { - let (s, _) = many0(parse_empty_line)(s)?; + let (s, _) = many0(parse_empty_line).parse(s)?; let (s, _) = space0(s)?; let (s, part_1) = parse_options(s)?; let (s, _) = sep(':')(s)?; let (s, part_2) = parse_options(s)?; let (s, _) = parse_end_of_line(s)?; - let (s, _) = opt(newline)(s)?; + let (s, _) = opt(newline).parse(s)?; Ok((s, Line { part_1, part_2 })) } |