Unified · Split
| @@ -100,29 +100,25 @@ fn section<'a>(i: &'a [u8], node: &mut ParseNode, dispatch: &mut impl FnMut(Even · 99 unmodified lines | ||
| 100 | 100 | loop { |
| 101 | 101 | let old_i = i; |
| 102 | 102 | |
| 103 | − if let Ok((new_i, v)) = take_spaces1(i) { | |
| 103 | + if let (new_i, Some(v)) = opt(take_spaces1).parse_next(i)? { | |
| 104 | 104 | i = new_i; |
| 105 | 105 | dispatch(Event::Whitespace(Cow::Borrowed(v.as_bstr()))); |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | − if let Ok((new_i, (v, new_newlines))) = take_newlines1(i) { | |
| 108 | + if let (new_i, Some((v, new_newlines))) = opt(take_newlines1).parse_next(i)? { | |
| 109 | 109 | i = new_i; |
| 110 | 110 | newlines += new_newlines; |
| 111 | 111 | dispatch(Event::Newline(Cow::Borrowed(v.as_bstr()))); |
| 112 | 112 | } |
| 113 | 113 | |
| 114 | 114 | if let Ok((new_i, new_newlines)) = key_value_pair(i, node, dispatch) { |
| 115 | − if old_i != new_i { | |
| 116 | − i = new_i; | |
| 117 | − newlines += new_newlines; | |
| 118 | − } | |
| 115 | + i = new_i; | |
| 116 | + newlines += new_newlines; | |
| 119 | 117 | } |
| 120 | 118 | |
| 121 | − if let Ok((new_i, comment)) = comment(i) { | |
| 122 | − if old_i != new_i { | |
| 123 | − i = new_i; | |
| 124 | − dispatch(Event::Comment(comment)); | |
| 125 | − } | |
| 119 | + if let (new_i, Some(comment)) = opt(comment).parse_next(i)? { | |
| 120 | + i = new_i; | |
| 121 | + dispatch(Event::Comment(comment)); | |
| 126 | 122 | } |
| 127 | 123 | |
| 128 | 124 | if old_i == i { |