Note that outside definitions, both <: and >: are parsed as comparison operators.
Add where_expression:
The rule where_clause is still needed because where has a different precedence depending on whether it's in a definition / type parameter or if it's a regular expression.
Quotes
Add assignment operators to quote_expression.
Change precedence of colon : as identifier.
Parse primitive type and abstract type as a single token.
This enables parsing primitive and abstract as identifiers.
Add a list of keywords:
This enables quoting some keywords without tree-sitter trying to parse their corresponding rule. This can still fail depending on the context, but in most cases it's good enough.
Misc
Add typed parameters to function_expression.
Add closed macros to keyword_parameters (they're already allowed in regular parameters).
Add assignments to ternary_expression.
Remove generator_expression and allow a trailing _comprehension_clause in any collection.
Type operators
subtype_clause
totype_clause
:typed_expression
.type_clause
.<:
and>:
are parsed as comparison operators.where_expression
: The rulewhere_clause
is still needed becausewhere
has a different precedence depending on whether it's in a definition / type parameter or if it's a regular expression.Quotes
:
as identifier.primitive type
andabstract type
as a single token. This enables parsingprimitive
andabstract
as identifiers.Misc
function_expression
.keyword_parameters
(they're already allowed in regular parameters).ternary_expression
.generator_expression
and allow a trailing_comprehension_clause
in any collection.