cats-parse
cats-parse copied to clipboard
A parsing library for the cats ecosystem
close #433
One of the things I've noticed while using the library is using `Parser`s tends to follow this pattern (at least for me): ``` Foo.parser.parseAll(raw) ``` This has a couple of...
String parsing with escapes is a bit painful. We don't want to have a json ast or depend on a json library to get one, but if you embed json...
As title, it is good if we can format the `Expectation`s into `String`s. Ideally, Trifecta's output style (with line numbers and offending lines) will be very nice. 
I think this is a case of the flatMap optimization exposing a better error message (flatMap where the left is a known value is the same as a product). ```...
Rel https://github.com/typelevel/cats-parse/pull/384#issuecomment-1059808127 Now that scala\.js(https://www.scala-js.org/news/2022/02/14/announcing-scalajs-1.9.0/) and scala native(https://github.com/scala-native/scala-native/pull/2565) support java\.util\.BitSet, we no longer need these apis. Unfortunately these fields are public, so we will remove them in next minor version...
Currently `Parser0` has a `private[parse] def parseMut(state: Parser.State): A` method. To implement `.void` we keep track of a mutable var in `State` and set `capturing = false` so we can...
We don't allow `p.rep` on a `p: Parser0[_]` because if you parse nothing and that is valid, at parse time you would loop infinitely not making progress. Another idea could...
Hi everyone. So i am having this list of parsers in my parser for each case it could possibly have (there is also a recursive parser above which uses this...
Resolves #234; adds `Parser(0)#withCaret, span, withSpan` and `Parser.caret`. I'm unsure about the performance of these combinators but I expect it to be not very good. This is due to recomputation...