@willbooster/tree-sitter-haskell 12.1.0 → 13.0.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/README.md +1 -0
- package/grammar/decl.js +1 -0
- package/grammar/module.js +23 -9
- package/hsc/src/node-types.json +109 -33
- package/package.json +1 -1
- package/queries/highlights.scm +2 -0
- package/src/node-types.json +108 -32
- package/tree-sitter-haskell.wasm +0 -0
- package/tree-sitter-hsc.wasm +0 -0
- package/tree-sitter.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,7 @@ the supported language extensions. The fork's node and query contracts are descr
|
|
|
22
22
|
The fork's main differences from upstream 0.23.1 are:
|
|
23
23
|
|
|
24
24
|
- **Whitespace**: horizontal tabs separate tokens, are accepted before Haddock markers, and advance layout to the next eight-column tab stop.
|
|
25
|
+
- **ExplicitNamespaces**: import and export items, including subordinate items, accept the `data` namespace, and fixity declarations accept `type` and `data`. A namespaced subordinate item such as `type (#)` or `data P` is a `namespaced_child` node with a `namespace` child; a `data` item puts a constructor name in a `constructor` field and a variable or operator in the `variable` or `operator` field.
|
|
25
26
|
- **OrPatterns**: parenthesized alternatives separated by semicolons, such as `(A; B)`, parse as an `or_pattern` node with an `alternative` field for each pattern.
|
|
26
27
|
- **MultilineStrings**: triple-quoted literals retain their complete source as a single `string` node, including embedded quotes, escapes, and string gaps.
|
|
27
28
|
- **Comment scanning**: comments and Haddock nodes expose a named `content` child, preserving body whitespace and excluding outer delimiters. Ordinary comment injection captures this child.
|
package/grammar/decl.js
CHANGED
|
@@ -33,6 +33,7 @@ module.exports = {
|
|
|
33
33
|
seq(
|
|
34
34
|
field('associativity', choice('infixl', 'infixr', 'infix')),
|
|
35
35
|
field('precedence', optional($.integer)),
|
|
36
|
+
optional(field('namespace', alias(choice('type', 'data'), $.namespace))),
|
|
36
37
|
field('operator', sep1(',', choice($._operator_minus, $._varop, $._conop))),
|
|
37
38
|
),
|
|
38
39
|
),
|
package/grammar/module.js
CHANGED
|
@@ -49,23 +49,37 @@ module.exports = {
|
|
|
49
49
|
|
|
50
50
|
namespace: _ => choice('pattern', 'type'),
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
_ie_value: $ => choice(
|
|
53
|
+
field('variable', $._varids),
|
|
54
|
+
field('operator', choice($._sym_prefix, $._pqsym)),
|
|
55
|
+
),
|
|
56
|
+
|
|
57
|
+
_ie_name: $ => choice($._ie_value, field('type', $._tyconids)),
|
|
58
|
+
|
|
59
|
+
_ie_data: $ => seq(
|
|
60
|
+
field('namespace', alias('data', $.namespace)),
|
|
61
|
+
choice($._ie_value, field('constructor', choice($._qconid, $._constructor))),
|
|
62
|
+
),
|
|
63
|
+
|
|
64
|
+
_child_namespaced: $ => choice(
|
|
65
|
+
seq(field('namespace', alias('type', $.namespace)), $._ie_name),
|
|
66
|
+
$._ie_data,
|
|
67
|
+
),
|
|
53
68
|
|
|
54
69
|
_child: $ => choice(
|
|
55
|
-
alias($.
|
|
70
|
+
alias($._child_namespaced, $.namespaced_child),
|
|
56
71
|
$._qname,
|
|
57
72
|
),
|
|
58
73
|
|
|
59
74
|
children: $ => parens($, sep(',', field('element', choice(alias('..', $.all_names), $._child)))),
|
|
60
75
|
|
|
61
|
-
_ie_entity: $ =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
field('
|
|
66
|
-
field('operator', choice($._sym_prefix, $._pqsym)),
|
|
76
|
+
_ie_entity: $ => choice(
|
|
77
|
+
seq(
|
|
78
|
+
optional(field('namespace', $.namespace)),
|
|
79
|
+
$._ie_name,
|
|
80
|
+
optional(field('children', $.children)),
|
|
67
81
|
),
|
|
68
|
-
|
|
82
|
+
$._ie_data,
|
|
69
83
|
),
|
|
70
84
|
|
|
71
85
|
// ------------------------------------------------------------------------
|
package/hsc/src/node-types.json
CHANGED
|
@@ -1177,36 +1177,6 @@
|
|
|
1177
1177
|
}
|
|
1178
1178
|
}
|
|
1179
1179
|
},
|
|
1180
|
-
{
|
|
1181
|
-
"type": "associated_type",
|
|
1182
|
-
"named": true,
|
|
1183
|
-
"fields": {
|
|
1184
|
-
"namespace": {
|
|
1185
|
-
"multiple": false,
|
|
1186
|
-
"required": true,
|
|
1187
|
-
"types": [
|
|
1188
|
-
{
|
|
1189
|
-
"type": "type",
|
|
1190
|
-
"named": false
|
|
1191
|
-
}
|
|
1192
|
-
]
|
|
1193
|
-
},
|
|
1194
|
-
"type": {
|
|
1195
|
-
"multiple": false,
|
|
1196
|
-
"required": true,
|
|
1197
|
-
"types": [
|
|
1198
|
-
{
|
|
1199
|
-
"type": "name",
|
|
1200
|
-
"named": true
|
|
1201
|
-
},
|
|
1202
|
-
{
|
|
1203
|
-
"type": "qualified",
|
|
1204
|
-
"named": true
|
|
1205
|
-
}
|
|
1206
|
-
]
|
|
1207
|
-
}
|
|
1208
|
-
}
|
|
1209
|
-
},
|
|
1210
1180
|
{
|
|
1211
1181
|
"type": "bind",
|
|
1212
1182
|
"named": true,
|
|
@@ -1417,15 +1387,15 @@
|
|
|
1417
1387
|
"named": true
|
|
1418
1388
|
},
|
|
1419
1389
|
{
|
|
1420
|
-
"type": "
|
|
1390
|
+
"type": "constructor",
|
|
1421
1391
|
"named": true
|
|
1422
1392
|
},
|
|
1423
1393
|
{
|
|
1424
|
-
"type": "
|
|
1394
|
+
"type": "hsc",
|
|
1425
1395
|
"named": true
|
|
1426
1396
|
},
|
|
1427
1397
|
{
|
|
1428
|
-
"type": "
|
|
1398
|
+
"type": "namespaced_child",
|
|
1429
1399
|
"named": true
|
|
1430
1400
|
},
|
|
1431
1401
|
{
|
|
@@ -2518,6 +2488,20 @@
|
|
|
2518
2488
|
}
|
|
2519
2489
|
]
|
|
2520
2490
|
},
|
|
2491
|
+
"constructor": {
|
|
2492
|
+
"multiple": false,
|
|
2493
|
+
"required": false,
|
|
2494
|
+
"types": [
|
|
2495
|
+
{
|
|
2496
|
+
"type": "constructor",
|
|
2497
|
+
"named": true
|
|
2498
|
+
},
|
|
2499
|
+
{
|
|
2500
|
+
"type": "qualified",
|
|
2501
|
+
"named": true
|
|
2502
|
+
}
|
|
2503
|
+
]
|
|
2504
|
+
},
|
|
2521
2505
|
"namespace": {
|
|
2522
2506
|
"multiple": false,
|
|
2523
2507
|
"required": false,
|
|
@@ -2861,6 +2845,16 @@
|
|
|
2861
2845
|
}
|
|
2862
2846
|
]
|
|
2863
2847
|
},
|
|
2848
|
+
"namespace": {
|
|
2849
|
+
"multiple": false,
|
|
2850
|
+
"required": false,
|
|
2851
|
+
"types": [
|
|
2852
|
+
{
|
|
2853
|
+
"type": "namespace",
|
|
2854
|
+
"named": true
|
|
2855
|
+
}
|
|
2856
|
+
]
|
|
2857
|
+
},
|
|
2864
2858
|
"operator": {
|
|
2865
2859
|
"multiple": true,
|
|
2866
2860
|
"required": true,
|
|
@@ -3636,6 +3630,20 @@
|
|
|
3636
3630
|
}
|
|
3637
3631
|
]
|
|
3638
3632
|
},
|
|
3633
|
+
"constructor": {
|
|
3634
|
+
"multiple": false,
|
|
3635
|
+
"required": false,
|
|
3636
|
+
"types": [
|
|
3637
|
+
{
|
|
3638
|
+
"type": "constructor",
|
|
3639
|
+
"named": true
|
|
3640
|
+
},
|
|
3641
|
+
{
|
|
3642
|
+
"type": "qualified",
|
|
3643
|
+
"named": true
|
|
3644
|
+
}
|
|
3645
|
+
]
|
|
3646
|
+
},
|
|
3639
3647
|
"namespace": {
|
|
3640
3648
|
"multiple": false,
|
|
3641
3649
|
"required": false,
|
|
@@ -4643,6 +4651,74 @@
|
|
|
4643
4651
|
"named": true,
|
|
4644
4652
|
"fields": {}
|
|
4645
4653
|
},
|
|
4654
|
+
{
|
|
4655
|
+
"type": "namespaced_child",
|
|
4656
|
+
"named": true,
|
|
4657
|
+
"fields": {
|
|
4658
|
+
"constructor": {
|
|
4659
|
+
"multiple": false,
|
|
4660
|
+
"required": false,
|
|
4661
|
+
"types": [
|
|
4662
|
+
{
|
|
4663
|
+
"type": "constructor",
|
|
4664
|
+
"named": true
|
|
4665
|
+
},
|
|
4666
|
+
{
|
|
4667
|
+
"type": "qualified",
|
|
4668
|
+
"named": true
|
|
4669
|
+
}
|
|
4670
|
+
]
|
|
4671
|
+
},
|
|
4672
|
+
"namespace": {
|
|
4673
|
+
"multiple": false,
|
|
4674
|
+
"required": true,
|
|
4675
|
+
"types": [
|
|
4676
|
+
{
|
|
4677
|
+
"type": "namespace",
|
|
4678
|
+
"named": true
|
|
4679
|
+
}
|
|
4680
|
+
]
|
|
4681
|
+
},
|
|
4682
|
+
"operator": {
|
|
4683
|
+
"multiple": false,
|
|
4684
|
+
"required": false,
|
|
4685
|
+
"types": [
|
|
4686
|
+
{
|
|
4687
|
+
"type": "prefix_id",
|
|
4688
|
+
"named": true
|
|
4689
|
+
}
|
|
4690
|
+
]
|
|
4691
|
+
},
|
|
4692
|
+
"type": {
|
|
4693
|
+
"multiple": false,
|
|
4694
|
+
"required": false,
|
|
4695
|
+
"types": [
|
|
4696
|
+
{
|
|
4697
|
+
"type": "name",
|
|
4698
|
+
"named": true
|
|
4699
|
+
},
|
|
4700
|
+
{
|
|
4701
|
+
"type": "qualified",
|
|
4702
|
+
"named": true
|
|
4703
|
+
}
|
|
4704
|
+
]
|
|
4705
|
+
},
|
|
4706
|
+
"variable": {
|
|
4707
|
+
"multiple": false,
|
|
4708
|
+
"required": false,
|
|
4709
|
+
"types": [
|
|
4710
|
+
{
|
|
4711
|
+
"type": "qualified",
|
|
4712
|
+
"named": true
|
|
4713
|
+
},
|
|
4714
|
+
{
|
|
4715
|
+
"type": "variable",
|
|
4716
|
+
"named": true
|
|
4717
|
+
}
|
|
4718
|
+
]
|
|
4719
|
+
}
|
|
4720
|
+
}
|
|
4721
|
+
},
|
|
4646
4722
|
{
|
|
4647
4723
|
"type": "negation",
|
|
4648
4724
|
"named": true,
|
package/package.json
CHANGED
package/queries/highlights.scm
CHANGED
package/src/node-types.json
CHANGED
|
@@ -1157,36 +1157,6 @@
|
|
|
1157
1157
|
}
|
|
1158
1158
|
}
|
|
1159
1159
|
},
|
|
1160
|
-
{
|
|
1161
|
-
"type": "associated_type",
|
|
1162
|
-
"named": true,
|
|
1163
|
-
"fields": {
|
|
1164
|
-
"namespace": {
|
|
1165
|
-
"multiple": false,
|
|
1166
|
-
"required": true,
|
|
1167
|
-
"types": [
|
|
1168
|
-
{
|
|
1169
|
-
"type": "type",
|
|
1170
|
-
"named": false
|
|
1171
|
-
}
|
|
1172
|
-
]
|
|
1173
|
-
},
|
|
1174
|
-
"type": {
|
|
1175
|
-
"multiple": false,
|
|
1176
|
-
"required": true,
|
|
1177
|
-
"types": [
|
|
1178
|
-
{
|
|
1179
|
-
"type": "name",
|
|
1180
|
-
"named": true
|
|
1181
|
-
},
|
|
1182
|
-
{
|
|
1183
|
-
"type": "qualified",
|
|
1184
|
-
"named": true
|
|
1185
|
-
}
|
|
1186
|
-
]
|
|
1187
|
-
}
|
|
1188
|
-
}
|
|
1189
|
-
},
|
|
1190
1160
|
{
|
|
1191
1161
|
"type": "bind",
|
|
1192
1162
|
"named": true,
|
|
@@ -1389,11 +1359,11 @@
|
|
|
1389
1359
|
"named": true
|
|
1390
1360
|
},
|
|
1391
1361
|
{
|
|
1392
|
-
"type": "
|
|
1362
|
+
"type": "constructor",
|
|
1393
1363
|
"named": true
|
|
1394
1364
|
},
|
|
1395
1365
|
{
|
|
1396
|
-
"type": "
|
|
1366
|
+
"type": "namespaced_child",
|
|
1397
1367
|
"named": true
|
|
1398
1368
|
},
|
|
1399
1369
|
{
|
|
@@ -2458,6 +2428,20 @@
|
|
|
2458
2428
|
}
|
|
2459
2429
|
]
|
|
2460
2430
|
},
|
|
2431
|
+
"constructor": {
|
|
2432
|
+
"multiple": false,
|
|
2433
|
+
"required": false,
|
|
2434
|
+
"types": [
|
|
2435
|
+
{
|
|
2436
|
+
"type": "constructor",
|
|
2437
|
+
"named": true
|
|
2438
|
+
},
|
|
2439
|
+
{
|
|
2440
|
+
"type": "qualified",
|
|
2441
|
+
"named": true
|
|
2442
|
+
}
|
|
2443
|
+
]
|
|
2444
|
+
},
|
|
2461
2445
|
"namespace": {
|
|
2462
2446
|
"multiple": false,
|
|
2463
2447
|
"required": false,
|
|
@@ -2791,6 +2775,16 @@
|
|
|
2791
2775
|
}
|
|
2792
2776
|
]
|
|
2793
2777
|
},
|
|
2778
|
+
"namespace": {
|
|
2779
|
+
"multiple": false,
|
|
2780
|
+
"required": false,
|
|
2781
|
+
"types": [
|
|
2782
|
+
{
|
|
2783
|
+
"type": "namespace",
|
|
2784
|
+
"named": true
|
|
2785
|
+
}
|
|
2786
|
+
]
|
|
2787
|
+
},
|
|
2794
2788
|
"operator": {
|
|
2795
2789
|
"multiple": true,
|
|
2796
2790
|
"required": true,
|
|
@@ -3520,6 +3514,20 @@
|
|
|
3520
3514
|
}
|
|
3521
3515
|
]
|
|
3522
3516
|
},
|
|
3517
|
+
"constructor": {
|
|
3518
|
+
"multiple": false,
|
|
3519
|
+
"required": false,
|
|
3520
|
+
"types": [
|
|
3521
|
+
{
|
|
3522
|
+
"type": "constructor",
|
|
3523
|
+
"named": true
|
|
3524
|
+
},
|
|
3525
|
+
{
|
|
3526
|
+
"type": "qualified",
|
|
3527
|
+
"named": true
|
|
3528
|
+
}
|
|
3529
|
+
]
|
|
3530
|
+
},
|
|
3523
3531
|
"namespace": {
|
|
3524
3532
|
"multiple": false,
|
|
3525
3533
|
"required": false,
|
|
@@ -4488,6 +4496,74 @@
|
|
|
4488
4496
|
"named": true,
|
|
4489
4497
|
"fields": {}
|
|
4490
4498
|
},
|
|
4499
|
+
{
|
|
4500
|
+
"type": "namespaced_child",
|
|
4501
|
+
"named": true,
|
|
4502
|
+
"fields": {
|
|
4503
|
+
"constructor": {
|
|
4504
|
+
"multiple": false,
|
|
4505
|
+
"required": false,
|
|
4506
|
+
"types": [
|
|
4507
|
+
{
|
|
4508
|
+
"type": "constructor",
|
|
4509
|
+
"named": true
|
|
4510
|
+
},
|
|
4511
|
+
{
|
|
4512
|
+
"type": "qualified",
|
|
4513
|
+
"named": true
|
|
4514
|
+
}
|
|
4515
|
+
]
|
|
4516
|
+
},
|
|
4517
|
+
"namespace": {
|
|
4518
|
+
"multiple": false,
|
|
4519
|
+
"required": true,
|
|
4520
|
+
"types": [
|
|
4521
|
+
{
|
|
4522
|
+
"type": "namespace",
|
|
4523
|
+
"named": true
|
|
4524
|
+
}
|
|
4525
|
+
]
|
|
4526
|
+
},
|
|
4527
|
+
"operator": {
|
|
4528
|
+
"multiple": false,
|
|
4529
|
+
"required": false,
|
|
4530
|
+
"types": [
|
|
4531
|
+
{
|
|
4532
|
+
"type": "prefix_id",
|
|
4533
|
+
"named": true
|
|
4534
|
+
}
|
|
4535
|
+
]
|
|
4536
|
+
},
|
|
4537
|
+
"type": {
|
|
4538
|
+
"multiple": false,
|
|
4539
|
+
"required": false,
|
|
4540
|
+
"types": [
|
|
4541
|
+
{
|
|
4542
|
+
"type": "name",
|
|
4543
|
+
"named": true
|
|
4544
|
+
},
|
|
4545
|
+
{
|
|
4546
|
+
"type": "qualified",
|
|
4547
|
+
"named": true
|
|
4548
|
+
}
|
|
4549
|
+
]
|
|
4550
|
+
},
|
|
4551
|
+
"variable": {
|
|
4552
|
+
"multiple": false,
|
|
4553
|
+
"required": false,
|
|
4554
|
+
"types": [
|
|
4555
|
+
{
|
|
4556
|
+
"type": "qualified",
|
|
4557
|
+
"named": true
|
|
4558
|
+
},
|
|
4559
|
+
{
|
|
4560
|
+
"type": "variable",
|
|
4561
|
+
"named": true
|
|
4562
|
+
}
|
|
4563
|
+
]
|
|
4564
|
+
}
|
|
4565
|
+
}
|
|
4566
|
+
},
|
|
4491
4567
|
{
|
|
4492
4568
|
"type": "negation",
|
|
4493
4569
|
"named": true,
|
package/tree-sitter-haskell.wasm
CHANGED
|
Binary file
|
package/tree-sitter-hsc.wasm
CHANGED
|
Binary file
|