Skip to content

Commit 69c8a5a

Browse files
0xa10amaanq
authored andcommitted
added support for generic type aliases
1 parent 00a299e commit 69c8a5a

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

grammar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ module.exports = grammar({
270270

271271
type_alias: $ => seq(
272272
field('name', $._type_identifier),
273+
field('type_parameters', optional($.type_parameter_list)),
273274
'=',
274275
field('type', $._type),
275276
),

test/corpus/types.txt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,7 @@ type (
467467
A4 = Value
468468
A5 = Value
469469
)
470+
type G3[T any, C Constraint] = G4[T, string, C]
470471

471472
--------------------------------------------------------------------------------
472473

@@ -507,4 +508,25 @@ type (
507508
(type_identifier))
508509
(type_alias
509510
(type_identifier)
510-
(type_identifier))))
511+
(type_identifier)))
512+
(type_declaration
513+
(type_alias
514+
(type_identifier)
515+
(type_parameter_list
516+
(type_parameter_declaration
517+
(identifier)
518+
(type_constraint
519+
(type_identifier)))
520+
(type_parameter_declaration
521+
(identifier)
522+
(type_constraint
523+
(type_identifier))))
524+
(generic_type
525+
(type_identifier)
526+
(type_arguments
527+
(type_elem
528+
(type_identifier))
529+
(type_elem
530+
(type_identifier))
531+
(type_elem
532+
(type_identifier)))))))

0 commit comments

Comments
 (0)