NOTE: Download tree-sitter-scala.tar.gz for the complete source code.
π bug fixes
- fix: Rework constructor annotations by @susliko in #533
- fix: Fixes
applied_constructor_typeandearly defsby @iigaz in #544 - fix: Fixes indented block as the body of
catch caseby @exoego in #549 - fix: Accepts braced-body members indented shallower than their siblings by @exoego in #550
- fix: Fixes self types with empty bodies, empty-bodied lambdas, enum self types by @exoego in #551
- fix: Keeps soft keyword
inlineusable as an identifier in expressions by @exoego in #555 - fix: Restricts
endmarker names to alphanumeric identifiers by @exoego in #557 - fix: Accepts Unicode
βas=>andβas<-by @exoego in #561 - fix: Allows empty statements before a statement in blocks by @exoego in #564
- fix: Accepts
doand bare indented bodies after parenthesized for enumerators by @exoego in #567 - fix: Fixes ascription to function types and ascribed match expressions by @exoego in #568
- fix: Captures patterns and free escapes inside interpolated strings by @exoego in #569
- fix: Fixes soft keyword
extensionand Scala 3 keywords in import paths by @exoego in #573 - fix: Bare
$identifier called with arguments by @exoego in #574 - fix: Annotation arguments and multiple argument lists in extends clauses by @exoego in #575
- fix: Adds bounds check before memcpy in
array.hby @anupamme in #577 - fix: Automatic semicolon lookahead over comments and closing keywords by @exoego in #578
- fix: Fixes braceless
matchwith cases at the same indentation by @exoego in #580 - fix: Keeps an internal comma from closing an indented block by @exoego in #581
- fix: Continues a line that ends in a colon or a symbolic operator by @exoego in #584
- fix: Parses a lambda parameter with a bare function type by @exoego in #593
- fix: Fixes rest-of-block lambdas and comma-closed templates in indented blocks by @exoego in #601
- fix: Ends an operator where a comment begins by @exoego in #631
- fix: Keeps a
//>comment plain when no using directive follows by @exoego in #636 - fix: Ends a statement before a leading operator with no operand by @exoego in #637
- fix: Annotates a literal type and every annotation of an ascription by @exoego in #641
- fix: Ends an indented argument at the comma before the next one by @exoego in #642
- fix: Takes the type arguments of an extractor pattern by @exoego in #644
π updates
- feat: Wildcard in self type by @susliko in #521
- feat: Varargs as a standalone rule by @susliko in #524
- feat: Lazy repeated parameter types by @susliko in #527
- feat: Trailing comma in
$.indented_casesby @susliko in #528 - feat: Allow
$.indented_blockin$.assignment_expressionby @susliko in #529 - feat: Braced block in
$.with_template_bodyby @susliko in #530 - feat: Colon argument with arguments in parenthesis on the same line by @susliko in #534
- feat: Reserved keywords by @iigaz in #537
- feat: Method values (
f _) as simple expressions by @exoego in #556 - feat: Scala 2 script header
#!...!#by @exoego in #558 - feat:
forSomeexistential types by @exoego in #559 - feat: Quoted keyword literals
'null/'true/'falseby @exoego in #563 - feat: Reads
|after a definition type annotation as a union type by @exoego in #565 - feat: Unicode math symbols as single-character type operators by @exoego in #572
- perf: Lex block comments in the external scanner by @exoego in #576
- feat: Start a colon argument with a context function lambda by @exoego in #586
- feat: Bind an indented block to a for comprehension enumerator by @exoego in #589
- feat: Lex floating point literals with digit separators by @exoego in #588
- perf: Inline small hidden rules to shrink parser.c by @exoego in #591
- feat: Attach end markers to the construct they close by @exoego in #596
- perf: Shrink
parser.cfrom 29.4 MB to 18.3 MB with a control-tail gate by @exoego in #600 - feat: Infix operator precedence and associativity per SLS 6.12.3 by @exoego in #603
- feat: XML literals and XML patterns by @exoego in #606
- perf: Cuts parse time by a third by @exoego in #607
- feat: Binary integer literals by @exoego in #608
- feat: A type with more than one refinement by @exoego in #609
- feat: Type bindings in a quote type block by @exoego in #610
- feat: Allows a semicolon after a match type case by @exoego in #613
- feat:
erasedmodifier by @exoego in #614 - feat: Given import selector outside braces by @exoego in #616
- perf: Lex the
erasedmodifier in the scanner, cutparser.cby 1 MB by @exoego in #618 - feat: Takes a refinement as an intersection operand by @exoego in #619
- feat: Named type arguments by @exoego in #621
- feat: Scala 3.6 given syntax by @exoego in #623
- perf: Reads the soft modifiers in the scanner, shrink
parser.cby 2.76 MiB by @exoego in #627 - feat: Capture checking syntax by @exoego in #629
behind the scenes
- Bump cargo lock file by @eed3si9n in #523
- Update CMakeLists.txt by @eed3si9n in #531
- ci: track parser size by @susliko in #535
- test: Unskip subclass-with-multiline-params test, fixed on master by @exoego in #548
- chore: Reserve
_colon_eoland_operator_eolexternal tokens by @exoego in #582 - chore: Reserve the floating point separators external token by @exoego in #585
- test: Update expected values for Dotty and Lila modules by @eed3si9n in #590
- chore: Reserve the end keyword external token by @exoego in #597
- chore: Reserve the XML tag start external token by @exoego in #604
- ci: Measure the Dotty test suite and drop non-Scala inputs by @exoego in #611
- chore: Reserve the erased modifier external token by @exoego in #615
- chore: Drop two unnecessary conflicts by @exoego in #620
- chore: Reserve the soft modifier external tokens by @exoego in #625
- chore: Reserve the using directive start external token by @exoego in #638
- 0.26.2 by @eed3si9n in #646
new contributors
- @iigaz made their first contribution in #537
- @exoego made their first contribution in #548
- @anupamme made their first contribution in #577
Full Changelog: v0.26.0...v0.26.2