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

It would be useful to have a way to introspect the parser to catch common problems and suggest improvements. See [this branch](https://github.com/zesterer/chumsky/tree/zero-copy-find-problems) for an example of how such passes could...

enhancement
1.0

I am having trouble recovering from the top-level nesting error that occurs when missing brackets. Here is a simplified nano rust example: ```rust fn main() -> i32 { 0 ```...

error-recovery

This can be done by using similar machinery to the `memoised` combinator.

enhancement
good first issue
1.0

I try to use a [`FileCache`](https://docs.rs/ariadne/latest/ariadne/struct.FileCache.html) to load files from disk and store them for later use. `FileCache` gives me a [`Source`](https://docs.rs/ariadne/latest/ariadne/struct.Source.html) but I see no easy way to use...

interop

# Summary `_` is not a member of `XID_Start` because some languages don't consider it a valid leading character (certain SQL dialects for example). In practice, leading `_`'s are accepted...

I flipped through the documents and found that the current status is TODO. * https://github.com/zesterer/chumsky/blob/main/guide/debugging.md

Whenever I try to access the state from `MapExtra` the compiler complains about not being able to infer the state. It doesn't matter if it's in `select!`. `map_with` or anything...

build log: ```bash ➜ rust-demo git:(master) wasm-pack build --target bundler [INFO]: 🎯 Checking for the Wasm target... [INFO]: 🌀 Compiling to Wasm... Compiling cc v1.0.90 Compiling version_check v0.9.4 Compiling libc...

This issue is about this code: ```rs use std::convert::Infallible; use chumsky::{extra::Err, prelude::*}; #[derive(Debug)] enum Expr() -> impl Parser>> { recursive(|expr| { let let_ = text::keyword("let") .ignore_then(text::ident()) .then_ignore(just('=').padded()) .then(expr.clone()) .map(|(name, expr)|...