tree-sitter-kdl 0.0.1

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.
Files changed (39) hide show
  1. package/.eslintrc.js +20 -0
  2. package/.gitattributes +3 -0
  3. package/.github/workflows/build.yml +51 -0
  4. package/.github/workflows/ci.yml +34 -0
  5. package/.github/workflows/fuzz.yml +21 -0
  6. package/Cargo.toml +22 -0
  7. package/README.md +5 -0
  8. package/binding.gyp +20 -0
  9. package/bindings/node/binding.cc +28 -0
  10. package/bindings/node/index.js +19 -0
  11. package/bindings/rust/build.rs +38 -0
  12. package/bindings/rust/lib.rs +52 -0
  13. package/examples/01-basic.kdl +1 -0
  14. package/examples/02-multiple-values.kdl +1 -0
  15. package/examples/03-properties.kdl +1 -0
  16. package/examples/04-child-nodes.kdl +6 -0
  17. package/examples/05-node-terminators.kdl +1 -0
  18. package/examples/06-string-formats.kdl +2 -0
  19. package/examples/07-multiline-string.kdl +3 -0
  20. package/examples/08-raw-string.kdl +1 -0
  21. package/examples/09-number.kdl +1 -0
  22. package/examples/10-number-forms.kdl +3 -0
  23. package/examples/11-number-with-underscores.kdl +1 -0
  24. package/examples/12-comments.kdl +11 -0
  25. package/examples/13-slashdash-comments.kdl +11 -0
  26. package/examples/14-type-annotations.kdl +4 -0
  27. package/examples/15-rich-example.kdl +21 -0
  28. package/grammar.js +304 -0
  29. package/package.json +38 -0
  30. package/queries/folds.scm +3 -0
  31. package/queries/highlights.scm +55 -0
  32. package/script/known_failures.txt +0 -0
  33. package/script/parse-examples +40 -0
  34. package/src/grammar.json +1396 -0
  35. package/src/node-types.json +626 -0
  36. package/src/parser.c +17477 -0
  37. package/src/scanner.c +30 -0
  38. package/src/tree_sitter/parser.h +224 -0
  39. package/test/corpus/node.txt +2784 -0
@@ -0,0 +1,626 @@
1
+ [
2
+ {
3
+ "type": "annotation_type",
4
+ "named": true,
5
+ "fields": {}
6
+ },
7
+ {
8
+ "type": "boolean",
9
+ "named": true,
10
+ "fields": {}
11
+ },
12
+ {
13
+ "type": "commented_block",
14
+ "named": true,
15
+ "fields": {},
16
+ "children": {
17
+ "multiple": true,
18
+ "required": false,
19
+ "types": [
20
+ {
21
+ "type": "multi_line_comment",
22
+ "named": true
23
+ }
24
+ ]
25
+ }
26
+ },
27
+ {
28
+ "type": "decimal",
29
+ "named": true,
30
+ "fields": {}
31
+ },
32
+ {
33
+ "type": "document",
34
+ "named": true,
35
+ "fields": {},
36
+ "children": {
37
+ "multiple": true,
38
+ "required": false,
39
+ "types": [
40
+ {
41
+ "type": "multi_line_comment",
42
+ "named": true
43
+ },
44
+ {
45
+ "type": "node",
46
+ "named": true
47
+ },
48
+ {
49
+ "type": "single_line_comment",
50
+ "named": true
51
+ }
52
+ ]
53
+ }
54
+ },
55
+ {
56
+ "type": "exponent",
57
+ "named": true,
58
+ "fields": {}
59
+ },
60
+ {
61
+ "type": "identifier",
62
+ "named": true,
63
+ "fields": {},
64
+ "children": {
65
+ "multiple": false,
66
+ "required": false,
67
+ "types": [
68
+ {
69
+ "type": "string",
70
+ "named": true
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ "type": "keyword",
77
+ "named": true,
78
+ "fields": {},
79
+ "children": {
80
+ "multiple": false,
81
+ "required": false,
82
+ "types": [
83
+ {
84
+ "type": "boolean",
85
+ "named": true
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ {
91
+ "type": "multi_line_comment",
92
+ "named": true,
93
+ "fields": {},
94
+ "children": {
95
+ "multiple": true,
96
+ "required": false,
97
+ "types": [
98
+ {
99
+ "type": "commented_block",
100
+ "named": true
101
+ }
102
+ ]
103
+ }
104
+ },
105
+ {
106
+ "type": "node",
107
+ "named": true,
108
+ "fields": {
109
+ "children": {
110
+ "multiple": false,
111
+ "required": false,
112
+ "types": [
113
+ {
114
+ "type": "node_children",
115
+ "named": true
116
+ }
117
+ ]
118
+ }
119
+ },
120
+ "children": {
121
+ "multiple": true,
122
+ "required": true,
123
+ "types": [
124
+ {
125
+ "type": "identifier",
126
+ "named": true
127
+ },
128
+ {
129
+ "type": "multi_line_comment",
130
+ "named": true
131
+ },
132
+ {
133
+ "type": "node_comment",
134
+ "named": true
135
+ },
136
+ {
137
+ "type": "node_field",
138
+ "named": true
139
+ },
140
+ {
141
+ "type": "single_line_comment",
142
+ "named": true
143
+ },
144
+ {
145
+ "type": "type",
146
+ "named": true
147
+ }
148
+ ]
149
+ }
150
+ },
151
+ {
152
+ "type": "node_children",
153
+ "named": true,
154
+ "fields": {},
155
+ "children": {
156
+ "multiple": true,
157
+ "required": false,
158
+ "types": [
159
+ {
160
+ "type": "multi_line_comment",
161
+ "named": true
162
+ },
163
+ {
164
+ "type": "node",
165
+ "named": true
166
+ },
167
+ {
168
+ "type": "node_children_comment",
169
+ "named": true
170
+ },
171
+ {
172
+ "type": "single_line_comment",
173
+ "named": true
174
+ }
175
+ ]
176
+ }
177
+ },
178
+ {
179
+ "type": "node_comment",
180
+ "named": true,
181
+ "fields": {},
182
+ "children": {
183
+ "multiple": true,
184
+ "required": false,
185
+ "types": [
186
+ {
187
+ "type": "multi_line_comment",
188
+ "named": true
189
+ },
190
+ {
191
+ "type": "single_line_comment",
192
+ "named": true
193
+ }
194
+ ]
195
+ }
196
+ },
197
+ {
198
+ "type": "node_field",
199
+ "named": true,
200
+ "fields": {},
201
+ "children": {
202
+ "multiple": true,
203
+ "required": true,
204
+ "types": [
205
+ {
206
+ "type": "node_field_comment",
207
+ "named": true
208
+ },
209
+ {
210
+ "type": "prop",
211
+ "named": true
212
+ },
213
+ {
214
+ "type": "value",
215
+ "named": true
216
+ }
217
+ ]
218
+ }
219
+ },
220
+ {
221
+ "type": "node_field_comment",
222
+ "named": true,
223
+ "fields": {},
224
+ "children": {
225
+ "multiple": true,
226
+ "required": false,
227
+ "types": [
228
+ {
229
+ "type": "multi_line_comment",
230
+ "named": true
231
+ },
232
+ {
233
+ "type": "prop",
234
+ "named": true
235
+ },
236
+ {
237
+ "type": "single_line_comment",
238
+ "named": true
239
+ },
240
+ {
241
+ "type": "value",
242
+ "named": true
243
+ }
244
+ ]
245
+ }
246
+ },
247
+ {
248
+ "type": "number",
249
+ "named": true,
250
+ "fields": {},
251
+ "children": {
252
+ "multiple": true,
253
+ "required": false,
254
+ "types": [
255
+ {
256
+ "type": "decimal",
257
+ "named": true
258
+ },
259
+ {
260
+ "type": "exponent",
261
+ "named": true
262
+ }
263
+ ]
264
+ }
265
+ },
266
+ {
267
+ "type": "prop",
268
+ "named": true,
269
+ "fields": {},
270
+ "children": {
271
+ "multiple": true,
272
+ "required": true,
273
+ "types": [
274
+ {
275
+ "type": "identifier",
276
+ "named": true
277
+ },
278
+ {
279
+ "type": "value",
280
+ "named": true
281
+ }
282
+ ]
283
+ }
284
+ },
285
+ {
286
+ "type": "single_line_comment",
287
+ "named": true,
288
+ "fields": {}
289
+ },
290
+ {
291
+ "type": "string",
292
+ "named": true,
293
+ "fields": {},
294
+ "children": {
295
+ "multiple": false,
296
+ "required": false,
297
+ "types": [
298
+ {
299
+ "type": "string_fragment",
300
+ "named": true
301
+ }
302
+ ]
303
+ }
304
+ },
305
+ {
306
+ "type": "string_fragment",
307
+ "named": true,
308
+ "fields": {},
309
+ "children": {
310
+ "multiple": true,
311
+ "required": false,
312
+ "types": [
313
+ {
314
+ "type": "escape",
315
+ "named": true
316
+ }
317
+ ]
318
+ }
319
+ },
320
+ {
321
+ "type": "type",
322
+ "named": true,
323
+ "fields": {},
324
+ "children": {
325
+ "multiple": false,
326
+ "required": true,
327
+ "types": [
328
+ {
329
+ "type": "annotation_type",
330
+ "named": true
331
+ },
332
+ {
333
+ "type": "identifier",
334
+ "named": true
335
+ }
336
+ ]
337
+ }
338
+ },
339
+ {
340
+ "type": "value",
341
+ "named": true,
342
+ "fields": {},
343
+ "children": {
344
+ "multiple": true,
345
+ "required": true,
346
+ "types": [
347
+ {
348
+ "type": "keyword",
349
+ "named": true
350
+ },
351
+ {
352
+ "type": "number",
353
+ "named": true
354
+ },
355
+ {
356
+ "type": "string",
357
+ "named": true
358
+ },
359
+ {
360
+ "type": "type",
361
+ "named": true
362
+ }
363
+ ]
364
+ }
365
+ },
366
+ {
367
+ "type": "\"",
368
+ "named": false
369
+ },
370
+ {
371
+ "type": "#",
372
+ "named": false
373
+ },
374
+ {
375
+ "type": "(",
376
+ "named": false
377
+ },
378
+ {
379
+ "type": ")",
380
+ "named": false
381
+ },
382
+ {
383
+ "type": "*/",
384
+ "named": false
385
+ },
386
+ {
387
+ "type": "+",
388
+ "named": false
389
+ },
390
+ {
391
+ "type": "-",
392
+ "named": false
393
+ },
394
+ {
395
+ "type": ".",
396
+ "named": false
397
+ },
398
+ {
399
+ "type": "/*",
400
+ "named": false
401
+ },
402
+ {
403
+ "type": "//",
404
+ "named": false
405
+ },
406
+ {
407
+ "type": "0",
408
+ "named": false
409
+ },
410
+ {
411
+ "type": "0b",
412
+ "named": false
413
+ },
414
+ {
415
+ "type": "0o",
416
+ "named": false
417
+ },
418
+ {
419
+ "type": "0x",
420
+ "named": false
421
+ },
422
+ {
423
+ "type": "1",
424
+ "named": false
425
+ },
426
+ {
427
+ "type": ";",
428
+ "named": false
429
+ },
430
+ {
431
+ "type": "=",
432
+ "named": false
433
+ },
434
+ {
435
+ "type": "E",
436
+ "named": false
437
+ },
438
+ {
439
+ "type": "\\",
440
+ "named": false
441
+ },
442
+ {
443
+ "type": "_",
444
+ "named": false
445
+ },
446
+ {
447
+ "type": "base64",
448
+ "named": false
449
+ },
450
+ {
451
+ "type": "country-2",
452
+ "named": false
453
+ },
454
+ {
455
+ "type": "country-3",
456
+ "named": false
457
+ },
458
+ {
459
+ "type": "country-subdivision",
460
+ "named": false
461
+ },
462
+ {
463
+ "type": "currency",
464
+ "named": false
465
+ },
466
+ {
467
+ "type": "date",
468
+ "named": false
469
+ },
470
+ {
471
+ "type": "date-time",
472
+ "named": false
473
+ },
474
+ {
475
+ "type": "decimal",
476
+ "named": false
477
+ },
478
+ {
479
+ "type": "decimal128",
480
+ "named": false
481
+ },
482
+ {
483
+ "type": "decimal64",
484
+ "named": false
485
+ },
486
+ {
487
+ "type": "duration",
488
+ "named": false
489
+ },
490
+ {
491
+ "type": "e",
492
+ "named": false
493
+ },
494
+ {
495
+ "type": "email",
496
+ "named": false
497
+ },
498
+ {
499
+ "type": "escape",
500
+ "named": true
501
+ },
502
+ {
503
+ "type": "f32",
504
+ "named": false
505
+ },
506
+ {
507
+ "type": "f64",
508
+ "named": false
509
+ },
510
+ {
511
+ "type": "false",
512
+ "named": false
513
+ },
514
+ {
515
+ "type": "hostname",
516
+ "named": false
517
+ },
518
+ {
519
+ "type": "i16",
520
+ "named": false
521
+ },
522
+ {
523
+ "type": "i32",
524
+ "named": false
525
+ },
526
+ {
527
+ "type": "i64",
528
+ "named": false
529
+ },
530
+ {
531
+ "type": "i8",
532
+ "named": false
533
+ },
534
+ {
535
+ "type": "idn-email",
536
+ "named": false
537
+ },
538
+ {
539
+ "type": "idn-hostname",
540
+ "named": false
541
+ },
542
+ {
543
+ "type": "ipv4",
544
+ "named": false
545
+ },
546
+ {
547
+ "type": "ipv6",
548
+ "named": false
549
+ },
550
+ {
551
+ "type": "iri-reference",
552
+ "named": false
553
+ },
554
+ {
555
+ "type": "irl",
556
+ "named": false
557
+ },
558
+ {
559
+ "type": "isize",
560
+ "named": false
561
+ },
562
+ {
563
+ "type": "node_children_comment",
564
+ "named": true
565
+ },
566
+ {
567
+ "type": "null",
568
+ "named": false
569
+ },
570
+ {
571
+ "type": "regex",
572
+ "named": false
573
+ },
574
+ {
575
+ "type": "time",
576
+ "named": false
577
+ },
578
+ {
579
+ "type": "true",
580
+ "named": false
581
+ },
582
+ {
583
+ "type": "u16",
584
+ "named": false
585
+ },
586
+ {
587
+ "type": "u32",
588
+ "named": false
589
+ },
590
+ {
591
+ "type": "u64",
592
+ "named": false
593
+ },
594
+ {
595
+ "type": "u8",
596
+ "named": false
597
+ },
598
+ {
599
+ "type": "url",
600
+ "named": false
601
+ },
602
+ {
603
+ "type": "url-reference",
604
+ "named": false
605
+ },
606
+ {
607
+ "type": "url-template",
608
+ "named": false
609
+ },
610
+ {
611
+ "type": "usize",
612
+ "named": false
613
+ },
614
+ {
615
+ "type": "uuid",
616
+ "named": false
617
+ },
618
+ {
619
+ "type": "{",
620
+ "named": false
621
+ },
622
+ {
623
+ "type": "}",
624
+ "named": false
625
+ }
626
+ ]