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