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

This would allow to skip `Stream::from_iter` dance when using Chumsky as lexer as well as parser.

enhancement
help wanted

As it stands now, users only have access to `skip_until`, `skip_then_retry_until`, and `nested_delimiters`. I'm unsure if the best way to go about this would be exposing the `Strategy` trait (which...

enhancement
api

With the eventual merge of #82, it might be possible to have chumsky integrate with `cstree`, a library for lossless parsing using untyped syntax tree. This might be achieved by...

enhancement
help wanted
interop

[Memoisation](https://en.wikipedia.org/wiki/Memoization#Parsers) is a technique for making backtracking parser performance linear over the input length at the cost of higher memory consumption and more overhead for less exponential grammars. It would...

enhancement

An example use case would be LDAP schema as retrieved via LDAP ``` ( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'Certificate' X-BINARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' ) ``` which I want to parse into ```...

enhancement
question

Just got this: ``` Start and end delimiters cannot be the same when using `NestedDelimiters`, consider using `Delimiters` instead ``` But I don't see any `Delimiters` structure or `delimiters` function....

1. Why it counts characters and not byte offsets? It's hard to spot this thing [deep in the documentation](https://docs.rs/chumsky/latest/chumsky/stream/struct.Stream.html#impl-From%3C%26%27a%20str%3E). And also most error reporting libraries expect byte offsets, `codespan` and...

enhancement

After fixing #52 there are couple of issues left: 1. `Error::unclosed_delimiters` takes only single token (char if char stream is parsed) 2. `nested_delimiters` strategy allows only single token My use...

Currently, there's no clean way to do something like ```rs parse_keyword() .then_with(|kw| parser(kw)) ``` Creating a parser that requires the ok result of the previous parser. It's possible with `custom`,...

enhancement
help wanted