chumsky icon indicating copy to clipboard operation
chumsky copied to clipboard

Write expressive, high-performance parsers with ease.

Results 110 chumsky issues
Sort by recently updated
recently updated
newest added

If I have a chain of `then` parsers, e.g.: ``` parse_int() .then_ignore(parse_whitespace()) .then(parse_char()) .then_ignore(parse_whitespace() .then(parse_float().then(parse_float())) ``` The output type of this parser will be a nested sequence of 2-tuples, i.e....

Here is a quick rundown of the changes: - Additions: - `zero_copy::text::whitespace` - `zero_copy::text::newline` - `zero_copy::text::digits` - `zero_copy::text::int` - `zero_copy::text::ident` - `zero_copy::text::keyword` - `zero_copy::Parser::repeated_slice` - `zero_copy::Parser::then_slice` - `zero_copy::sliced` - `zero_copy::sliced::RepeatedSlice`...

I'd like to give each of the nodes generated by my parser a unique ID. ~Unfortunately, `map_to_span` takes a `Fn` instead of a `FnMut` so it looks like this isn't...

Allow ```rust const OPEN_PAREN: Just = just('('); ``` and such

This will allow the use of `todo!()` in places that expect a parser.

enhancement
good first issue

It looks like if you use take_until( ).ignored() the actual taking still makes a vec internally, it just throws it away after filling it up. but heck maybe this is...

When the `todo()` parser panics it gives panic locations like ``` C:\Users\Daniel\.cargo\registry\src\github.com-1ecc6299db9ec823\chumsky-0.8.0\src\primitive.rs:841:9 ``` And that's never helpful. However, adding `track_caller` to just the `parse_inner` method probably won't do. It needs...

I'm trying to parse a simple tag-like language, for example `foo{{x}}bar` would be a valid input. I tried using `choice` to parse this, like so: ```rust let tag = any().map(Token::Verbatim).repeated();...