- Improve performance of
codePointWhereandcharWhereif default error message is not needed - Fix
CodePoint::isIdentifierIgnorableto forward to the correctj.l.Charactermethod - Flatten typeclass's companion's inheritance hierarchy
- Include pages for the companion's scala-2
Contextinner classes in scala-2 docs (was previously not included since, despite being visible via inheritance, class was still an inner class of a package-private trait) - Use
ifdefannotation instead of inheritance for scala-version-specific methods
- Include pages for the companion's scala-2
- Flatten Interpolator, Extractor, Parser and companions' inheritance hierarchy
- Include pages for
Interpolator.LiftedInterpolatorinner classes in docs - Use
ifdefannotation instead of inheritance for scala-version-specific methods
- Include pages for
- Add
Ctxtype parameters andctx:Ctxparameters to a lot of classes, methods, and function parameters- On scala-3, add overloads to some parsers/extractors/interpolators methods such that one has a function parameter with an explicit Ctx parameter and the other has a function parameter with an implicit Ctx parameter
- Makes this library
-Xcheck-macros-safe scpc.IdCtxcreated as theCtxfor the identity context- Removed
quoted.Quotesorblackbox.Contextusing parameters from leaf parser methods
- Flatten out typeclass
forContextmethods, putting respective methods that do not require aContextinstance to create directly on the companion object - Create
TypeCreatorclass; ChangeQuotes-context associatedType[_]fromquotes.Typetoscpc.TypeCreator
0.1.1 – 2025-02-04
- Add symbolic operators to Parser, Extractor and Interpolator
<~>and<|>as aliases forandThenandorElse, respectively~>and<~as specializations ofandThenwhen one side or the other is Unit<+>on Interpolator only as a specialization oforElsewhen the desired result is a discriminated union</>on Interpolator only as a specialization oforElsewhen the second argument is a pure parser<::>on Interpolator only as a specialization ofandThenwhich prepends the left side to a list on the right side
- Add built-in but explicit Repeated instances for concatenating strings
idConcatenateStringfor id contextforContext(c).concatenateStringfor scala-2 macro contextquotedConcatenateStringfor scala-3 quoted context
- Add
Repeat.SplicePiece; representing either zero, one, or many items; and typeclass instances usingSplicePiece- for scala-2 macro context:
Either.forContext(c).splicePieceto combine aInterpolator[c.Expr[A]]and aInterpolator[c.Expr[List[A]]]into aInterpolator[SplicePiece[c.Expr, A]]Repeated.forContext(c).fromSplicesToExprListto splice the SplicePieces together into ac.Expr[List[A]]Repeated.forContext(c).fromSplicesUsingBuilderto splice the SplicePieces together using a arbitrary Builder
- for scala-3 quoted context:
Either.quotedSplicePieceto combine aInterpolator[Expr[A]]and aInterpolator[Expr[List[A]]]into aInterpolator[SplicePiece[Expr, A]]Repeated.quotedFromSplicesToExprListto splice the SplicePieces together into aExpr[List[A]]Repeated.quotedFromSplicesUsingBuilderto splice the SplicePieces together using a arbitrary Builder
- for scala-2 macro context:
- Fix scalajs sourcemaps to point at github-hosted files instead of a local file that almost certainly does not exist
0.1.0 – 2024-02-01
Initial tagged version