@willbooster/tree-sitter-python 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/grammar.js +102 -1
- package/package.json +1 -1
- package/queries/highlights.scm +3 -0
- package/src/node-types.json +80 -4
- package/tree-sitter-python.wasm +0 -0
- package/tree-sitter.json +1 -1
package/grammar.js
CHANGED
|
@@ -43,6 +43,12 @@ module.exports = grammar({
|
|
|
43
43
|
extras: ($) => [$.comment, /[\s\f\uFEFF\u2060\u200B]|\r?\n/, $.line_continuation],
|
|
44
44
|
|
|
45
45
|
conflicts: ($) => [
|
|
46
|
+
[$.default_type_parameter, $.primary_expression],
|
|
47
|
+
[$.primary_expression, $._default_type_primary],
|
|
48
|
+
[$.primary_expression, $._default_generic_type],
|
|
49
|
+
[$.primary_expression, $._default_member_type],
|
|
50
|
+
[$.list, $._default_type_list],
|
|
51
|
+
[$._type_parameter_expression, $.expression],
|
|
46
52
|
[$.primary_expression, $.pattern],
|
|
47
53
|
[$.primary_expression, $.list_splat_pattern],
|
|
48
54
|
[$.tuple, $.tuple_pattern],
|
|
@@ -94,6 +100,8 @@ module.exports = grammar({
|
|
|
94
100
|
$._expressions,
|
|
95
101
|
$._left_hand_side,
|
|
96
102
|
$.keyword_identifier,
|
|
103
|
+
$._type_parameter_name,
|
|
104
|
+
$._default_member_base,
|
|
97
105
|
],
|
|
98
106
|
|
|
99
107
|
reserved: {
|
|
@@ -393,7 +401,100 @@ module.exports = grammar({
|
|
|
393
401
|
':',
|
|
394
402
|
field('body', $._suite)
|
|
395
403
|
),
|
|
396
|
-
type_parameter: ($) =>
|
|
404
|
+
type_parameter: ($) =>
|
|
405
|
+
seq('[', commaSep1(choice($.type, $.splat_type, $.default_type_parameter)), optional(','), ']'),
|
|
406
|
+
|
|
407
|
+
default_type_parameter: ($) =>
|
|
408
|
+
choice(
|
|
409
|
+
seq(
|
|
410
|
+
choice(
|
|
411
|
+
seq(
|
|
412
|
+
field('name', $._type_parameter_name),
|
|
413
|
+
optional(seq(':', field('bound', alias($._type_parameter_expression, $.type))))
|
|
414
|
+
),
|
|
415
|
+
seq('**', field('name', $._type_parameter_name))
|
|
416
|
+
),
|
|
417
|
+
'=',
|
|
418
|
+
field('value', alias($._type_parameter_expression, $.type))
|
|
419
|
+
),
|
|
420
|
+
seq(
|
|
421
|
+
'*',
|
|
422
|
+
field('name', $._type_parameter_name),
|
|
423
|
+
'=',
|
|
424
|
+
field(
|
|
425
|
+
'value',
|
|
426
|
+
choice(alias($._type_parameter_expression, $.type), alias($._default_splat_type, $.list_splat))
|
|
427
|
+
)
|
|
428
|
+
)
|
|
429
|
+
),
|
|
430
|
+
|
|
431
|
+
_type_parameter_name: ($) =>
|
|
432
|
+
choice($.identifier, alias(choice('type', 'match', 'print', 'exec', 'lazy'), $.identifier)),
|
|
433
|
+
|
|
434
|
+
_default_member_base: ($) => choice($._type_parameter_name, alias($._default_member_type, $.member_type)),
|
|
435
|
+
|
|
436
|
+
_type_parameter_expression: ($) => choice($._expression_without_named_expression, prec.dynamic(1, $._default_type)),
|
|
437
|
+
|
|
438
|
+
_default_type: ($) => choice($._default_type_primary, alias($._default_union_type, $.union_type)),
|
|
439
|
+
|
|
440
|
+
_default_type_primary: ($) =>
|
|
441
|
+
choice(
|
|
442
|
+
$.identifier,
|
|
443
|
+
$.keyword_identifier,
|
|
444
|
+
$.none,
|
|
445
|
+
$.string,
|
|
446
|
+
alias($._default_member_type, $.member_type),
|
|
447
|
+
alias($._default_generic_type, $.generic_type),
|
|
448
|
+
alias($._default_type_list, $.list),
|
|
449
|
+
alias($._default_type_tuple, $.tuple),
|
|
450
|
+
alias($._default_parenthesized_type, $.parenthesized_expression)
|
|
451
|
+
),
|
|
452
|
+
|
|
453
|
+
_default_member_type: ($) => seq($._default_member_base, '.', $.identifier),
|
|
454
|
+
|
|
455
|
+
_default_generic_type: ($) => seq($._default_member_base, alias($._default_type_arguments, $.type_parameter)),
|
|
456
|
+
|
|
457
|
+
_default_union_type: ($) =>
|
|
458
|
+
prec.left(PREC.bitwise_or, seq(alias($._default_type, $.type), '|', alias($._default_type_primary, $.type))),
|
|
459
|
+
|
|
460
|
+
_default_parenthesized_type: ($) => seq('(', alias($._default_type, $.type), ')'),
|
|
461
|
+
|
|
462
|
+
_default_type_arguments: ($) =>
|
|
463
|
+
seq(
|
|
464
|
+
'[',
|
|
465
|
+
commaSep1(
|
|
466
|
+
choice(
|
|
467
|
+
alias($._type_parameter_expression, $.type),
|
|
468
|
+
$.named_expression,
|
|
469
|
+
alias($._default_splat_argument, $.splat_type),
|
|
470
|
+
$.slice
|
|
471
|
+
)
|
|
472
|
+
),
|
|
473
|
+
optional(','),
|
|
474
|
+
']'
|
|
475
|
+
),
|
|
476
|
+
|
|
477
|
+
_default_splat_argument: ($) => seq('*', alias($._type_parameter_expression, $.type)),
|
|
478
|
+
|
|
479
|
+
_default_type_list: ($) =>
|
|
480
|
+
prec.dynamic(
|
|
481
|
+
1,
|
|
482
|
+
seq('[', optional(seq(commaSep1(alias($._type_parameter_expression, $.type)), optional(','))), ']')
|
|
483
|
+
),
|
|
484
|
+
|
|
485
|
+
_default_type_tuple: ($) =>
|
|
486
|
+
prec.dynamic(
|
|
487
|
+
1,
|
|
488
|
+
seq(
|
|
489
|
+
'(',
|
|
490
|
+
alias($._type_parameter_expression, $.type),
|
|
491
|
+
',',
|
|
492
|
+
optional(seq(commaSep1(alias($._type_parameter_expression, $.type)), optional(','))),
|
|
493
|
+
')'
|
|
494
|
+
)
|
|
495
|
+
),
|
|
496
|
+
|
|
497
|
+
_default_splat_type: ($) => seq('*', choice($.primary_expression, prec.dynamic(1, alias($._default_type, $.type)))),
|
|
397
498
|
|
|
398
499
|
_generic_type_arguments: ($) =>
|
|
399
500
|
seq('[', commaSep1(choice($.type, alias($._list_splat_argument, $.splat_type))), optional(','), ']'),
|
package/package.json
CHANGED
package/queries/highlights.scm
CHANGED
package/src/node-types.json
CHANGED
|
@@ -1307,6 +1307,46 @@
|
|
|
1307
1307
|
}
|
|
1308
1308
|
}
|
|
1309
1309
|
},
|
|
1310
|
+
{
|
|
1311
|
+
"type": "default_type_parameter",
|
|
1312
|
+
"named": true,
|
|
1313
|
+
"fields": {
|
|
1314
|
+
"bound": {
|
|
1315
|
+
"multiple": false,
|
|
1316
|
+
"required": false,
|
|
1317
|
+
"types": [
|
|
1318
|
+
{
|
|
1319
|
+
"type": "type",
|
|
1320
|
+
"named": true
|
|
1321
|
+
}
|
|
1322
|
+
]
|
|
1323
|
+
},
|
|
1324
|
+
"name": {
|
|
1325
|
+
"multiple": false,
|
|
1326
|
+
"required": true,
|
|
1327
|
+
"types": [
|
|
1328
|
+
{
|
|
1329
|
+
"type": "identifier",
|
|
1330
|
+
"named": true
|
|
1331
|
+
}
|
|
1332
|
+
]
|
|
1333
|
+
},
|
|
1334
|
+
"value": {
|
|
1335
|
+
"multiple": false,
|
|
1336
|
+
"required": true,
|
|
1337
|
+
"types": [
|
|
1338
|
+
{
|
|
1339
|
+
"type": "list_splat",
|
|
1340
|
+
"named": true
|
|
1341
|
+
},
|
|
1342
|
+
{
|
|
1343
|
+
"type": "type",
|
|
1344
|
+
"named": true
|
|
1345
|
+
}
|
|
1346
|
+
]
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
},
|
|
1310
1350
|
{
|
|
1311
1351
|
"type": "delete_statement",
|
|
1312
1352
|
"named": true,
|
|
@@ -1994,6 +2034,10 @@
|
|
|
1994
2034
|
"type": "identifier",
|
|
1995
2035
|
"named": true
|
|
1996
2036
|
},
|
|
2037
|
+
{
|
|
2038
|
+
"type": "member_type",
|
|
2039
|
+
"named": true
|
|
2040
|
+
},
|
|
1997
2041
|
{
|
|
1998
2042
|
"type": "type_parameter",
|
|
1999
2043
|
"named": true
|
|
@@ -2370,6 +2414,10 @@
|
|
|
2370
2414
|
{
|
|
2371
2415
|
"type": "list_splat",
|
|
2372
2416
|
"named": true
|
|
2417
|
+
},
|
|
2418
|
+
{
|
|
2419
|
+
"type": "type",
|
|
2420
|
+
"named": true
|
|
2373
2421
|
}
|
|
2374
2422
|
]
|
|
2375
2423
|
}
|
|
@@ -2458,6 +2506,10 @@
|
|
|
2458
2506
|
{
|
|
2459
2507
|
"type": "primary_expression",
|
|
2460
2508
|
"named": true
|
|
2509
|
+
},
|
|
2510
|
+
{
|
|
2511
|
+
"type": "type",
|
|
2512
|
+
"named": true
|
|
2461
2513
|
}
|
|
2462
2514
|
]
|
|
2463
2515
|
}
|
|
@@ -2527,6 +2579,10 @@
|
|
|
2527
2579
|
"type": "identifier",
|
|
2528
2580
|
"named": true
|
|
2529
2581
|
},
|
|
2582
|
+
{
|
|
2583
|
+
"type": "member_type",
|
|
2584
|
+
"named": true
|
|
2585
|
+
},
|
|
2530
2586
|
{
|
|
2531
2587
|
"type": "type",
|
|
2532
2588
|
"named": true
|
|
@@ -2785,6 +2841,10 @@
|
|
|
2785
2841
|
"type": "expression",
|
|
2786
2842
|
"named": true
|
|
2787
2843
|
},
|
|
2844
|
+
{
|
|
2845
|
+
"type": "type",
|
|
2846
|
+
"named": true
|
|
2847
|
+
},
|
|
2788
2848
|
{
|
|
2789
2849
|
"type": "yield",
|
|
2790
2850
|
"named": true
|
|
@@ -3029,6 +3089,10 @@
|
|
|
3029
3089
|
{
|
|
3030
3090
|
"type": "primary_expression",
|
|
3031
3091
|
"named": true
|
|
3092
|
+
},
|
|
3093
|
+
{
|
|
3094
|
+
"type": "type",
|
|
3095
|
+
"named": true
|
|
3032
3096
|
}
|
|
3033
3097
|
]
|
|
3034
3098
|
}
|
|
@@ -3162,6 +3226,10 @@
|
|
|
3162
3226
|
{
|
|
3163
3227
|
"type": "list_splat",
|
|
3164
3228
|
"named": true
|
|
3229
|
+
},
|
|
3230
|
+
{
|
|
3231
|
+
"type": "type",
|
|
3232
|
+
"named": true
|
|
3165
3233
|
}
|
|
3166
3234
|
]
|
|
3167
3235
|
}
|
|
@@ -3205,10 +3273,6 @@
|
|
|
3205
3273
|
"type": "generic_type",
|
|
3206
3274
|
"named": true
|
|
3207
3275
|
},
|
|
3208
|
-
{
|
|
3209
|
-
"type": "identifier",
|
|
3210
|
-
"named": true
|
|
3211
|
-
},
|
|
3212
3276
|
{
|
|
3213
3277
|
"type": "member_type",
|
|
3214
3278
|
"named": true
|
|
@@ -3254,6 +3318,18 @@
|
|
|
3254
3318
|
"multiple": true,
|
|
3255
3319
|
"required": true,
|
|
3256
3320
|
"types": [
|
|
3321
|
+
{
|
|
3322
|
+
"type": "default_type_parameter",
|
|
3323
|
+
"named": true
|
|
3324
|
+
},
|
|
3325
|
+
{
|
|
3326
|
+
"type": "named_expression",
|
|
3327
|
+
"named": true
|
|
3328
|
+
},
|
|
3329
|
+
{
|
|
3330
|
+
"type": "slice",
|
|
3331
|
+
"named": true
|
|
3332
|
+
},
|
|
3257
3333
|
{
|
|
3258
3334
|
"type": "splat_type",
|
|
3259
3335
|
"named": true
|
package/tree-sitter-python.wasm
CHANGED
|
Binary file
|