Common parsers
()
| 214 | |
| 215 | // Common parsers |
| 216 | fn parse_integer_string() -> impl CharParser<String> { |
| 217 | let digit = chumsky::primitive::filter(|c: &char| c.is_ascii_digit()); |
| 218 | let underscore = chumsky::primitive::just('_'); |
| 219 | let digit_or_underscore = underscore.or(digit).repeated(); |
| 220 | |
| 221 | digit |
| 222 | .chain(digit_or_underscore) |
| 223 | .map(|chars| { |
| 224 | chars |
| 225 | .into_iter() |
| 226 | .filter(|c| c.is_ascii_digit()) |
| 227 | .collect::<String>() |
| 228 | }) |
| 229 | .labelled("number") |
| 230 | } |
| 231 | |
| 232 | /// Parse 4-byte integer. |
| 233 | pub fn parse_u32() -> impl CharParser<u32> { |
no test coverage detected