Joshua Barretto
Joshua Barretto
Perhaps `rustyline` could be kept, but hidden behind an optional dependency? I rather like the things it brings to the table (shell history, backspace support, etc.)
Thanks for the PR, should be able to take a look at this soon.
That is unfortunate. For what it's worth, this can be worked around through use of the `.boxed()` combinator and also less overzealous use of `.or` in favour of `choice`. Thanks...
@Karesis That's unfortunate. I would like to provide a good solution for this, but I can't think of any, without reverting to hacks (like shortening type names in an attempt...
> Just to confirm, does this mean I need to find a balance between the performance cost of .boxed() and using just enough of them to resolve the linker error?...
I think implementing a disconnect signal would probably take some time. Is it not feasible to have the thread/task on the other end of the channel to send some sort...
You can achieve this like so (pseudocode incoming, you may need to poke it to make it compile) ```rs ascii::ident() .then_with_ctx(just('!') .contextual() .configure(|_, ident| matches!(ident, "special"))) ``` Is this sufficient,...
> Thinking about it a bit more, ideally this would look something like this Perhaps the following would do? ```rs // One of the choice parsers will be chosen top.then_with_ctx(choice((...
> But how does it now know what to recommend "missing" on an error? That information gets built up by ariadne as the parse tree is explored, so it should...
Chumsky has some built-in error prioritisation heuristics that allow it to report errors in a vaguely sensible manner, as you describe. For the most-part, the current heuristic is just 'the...