tree-sitter-ucode 0.2.0 → 0.4.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 (45) hide show
  1. package/README.md +49 -58
  2. package/grammar.js +214 -28
  3. package/markup/grammar.js +1057 -0
  4. package/markup/queries/folds.scm +20 -0
  5. package/markup/queries/highlights.scm +38 -0
  6. package/markup/queries/indents.scm +51 -0
  7. package/markup/queries/injections.scm +40 -0
  8. package/markup/queries/locals.scm +107 -0
  9. package/markup/queries/tags.scm +65 -0
  10. package/markup/queries/textobjects.scm +56 -0
  11. package/markup/src/grammar.json +5786 -0
  12. package/markup/src/node-types.json +3211 -0
  13. package/markup/src/parser.c +134461 -0
  14. package/markup/src/scanner.c +22 -0
  15. package/package.json +8 -7
  16. package/prebuilds/darwin-arm64/tree-sitter-ucode.node +0 -0
  17. package/prebuilds/linux-arm64/tree-sitter-ucode.node +0 -0
  18. package/prebuilds/linux-x64/tree-sitter-ucode.node +0 -0
  19. package/prebuilds/win32-x64/tree-sitter-ucode.node +0 -0
  20. package/queries/folds.scm +38 -0
  21. package/queries/highlights.scm +6 -0
  22. package/queries/indents.scm +63 -0
  23. package/queries/locals.scm +1 -0
  24. package/queries/textobjects.scm +84 -0
  25. package/scripts/generate-markup-grammar.js +93 -0
  26. package/src/grammar.json +1069 -226
  27. package/src/node-types.json +662 -8
  28. package/src/parser.c +106401 -25117
  29. package/src/scanner.c +16 -193
  30. package/src/scanner_impl.h +494 -0
  31. package/tree-sitter-ucode.wasm +0 -0
  32. package/tree-sitter-ucode_markup.wasm +0 -0
  33. package/tree-sitter.json +24 -12
  34. package/tmpl/grammar.js +0 -67
  35. package/tmpl/queries/highlights.scm +0 -23
  36. package/tmpl/queries/injections.scm +0 -8
  37. package/tmpl/queries/locals.scm +0 -3
  38. package/tmpl/src/grammar.json +0 -243
  39. package/tmpl/src/node-types.json +0 -230
  40. package/tmpl/src/parser.c +0 -707
  41. package/tmpl/src/scanner.c +0 -169
  42. package/tree-sitter-ucode_tmpl.wasm +0 -0
  43. /package/{tmpl → markup}/src/tree_sitter/alloc.h +0 -0
  44. /package/{tmpl → markup}/src/tree_sitter/array.h +0 -0
  45. /package/{tmpl → markup}/src/tree_sitter/parser.h +0 -0
@@ -625,6 +625,50 @@
625
625
  }
626
626
  }
627
627
  },
628
+ {
629
+ "type": "comment_tag",
630
+ "named": true,
631
+ "fields": {
632
+ "close": {
633
+ "multiple": false,
634
+ "required": true,
635
+ "types": [
636
+ {
637
+ "type": "#}",
638
+ "named": false
639
+ },
640
+ {
641
+ "type": "-#}",
642
+ "named": false
643
+ }
644
+ ]
645
+ },
646
+ "content": {
647
+ "multiple": false,
648
+ "required": false,
649
+ "types": [
650
+ {
651
+ "type": "comment_content",
652
+ "named": true
653
+ }
654
+ ]
655
+ },
656
+ "open": {
657
+ "multiple": false,
658
+ "required": true,
659
+ "types": [
660
+ {
661
+ "type": "{#",
662
+ "named": false
663
+ },
664
+ {
665
+ "type": "{#-",
666
+ "named": false
667
+ }
668
+ ]
669
+ }
670
+ }
671
+ },
628
672
  {
629
673
  "type": "computed_property_name",
630
674
  "named": true,
@@ -682,6 +726,54 @@
682
726
  }
683
727
  }
684
728
  },
729
+ {
730
+ "type": "elif_clause_tag",
731
+ "named": true,
732
+ "fields": {
733
+ "close": {
734
+ "multiple": false,
735
+ "required": true,
736
+ "types": [
737
+ {
738
+ "type": "statement_tag_close",
739
+ "named": true
740
+ },
741
+ {
742
+ "type": "statement_tag_trim_close",
743
+ "named": true
744
+ }
745
+ ]
746
+ },
747
+ "condition": {
748
+ "multiple": false,
749
+ "required": true,
750
+ "types": [
751
+ {
752
+ "type": "parenthesized_expression",
753
+ "named": true
754
+ }
755
+ ]
756
+ },
757
+ "open": {
758
+ "multiple": false,
759
+ "required": true,
760
+ "types": [
761
+ {
762
+ "type": "statement_tag_lstrip_open",
763
+ "named": true
764
+ },
765
+ {
766
+ "type": "statement_tag_open",
767
+ "named": true
768
+ },
769
+ {
770
+ "type": "statement_tag_trim_open",
771
+ "named": true
772
+ }
773
+ ]
774
+ }
775
+ }
776
+ },
685
777
  {
686
778
  "type": "else_alt_clause",
687
779
  "named": true,
@@ -698,6 +790,44 @@
698
790
  }
699
791
  }
700
792
  },
793
+ {
794
+ "type": "else_alt_clause_tag",
795
+ "named": true,
796
+ "fields": {
797
+ "close": {
798
+ "multiple": false,
799
+ "required": true,
800
+ "types": [
801
+ {
802
+ "type": "statement_tag_close",
803
+ "named": true
804
+ },
805
+ {
806
+ "type": "statement_tag_trim_close",
807
+ "named": true
808
+ }
809
+ ]
810
+ },
811
+ "open": {
812
+ "multiple": false,
813
+ "required": true,
814
+ "types": [
815
+ {
816
+ "type": "statement_tag_lstrip_open",
817
+ "named": true
818
+ },
819
+ {
820
+ "type": "statement_tag_open",
821
+ "named": true
822
+ },
823
+ {
824
+ "type": "statement_tag_trim_open",
825
+ "named": true
826
+ }
827
+ ]
828
+ }
829
+ }
830
+ },
701
831
  {
702
832
  "type": "else_clause",
703
833
  "named": true,
@@ -830,6 +960,54 @@
830
960
  ]
831
961
  }
832
962
  },
963
+ {
964
+ "type": "expression_tag",
965
+ "named": true,
966
+ "fields": {
967
+ "close": {
968
+ "multiple": false,
969
+ "required": true,
970
+ "types": [
971
+ {
972
+ "type": "expression_tag_close",
973
+ "named": true
974
+ },
975
+ {
976
+ "type": "expression_tag_trim_close",
977
+ "named": true
978
+ }
979
+ ]
980
+ },
981
+ "open": {
982
+ "multiple": false,
983
+ "required": true,
984
+ "types": [
985
+ {
986
+ "type": "expression_tag_open",
987
+ "named": true
988
+ },
989
+ {
990
+ "type": "expression_tag_trim_open",
991
+ "named": true
992
+ }
993
+ ]
994
+ }
995
+ },
996
+ "children": {
997
+ "multiple": false,
998
+ "required": false,
999
+ "types": [
1000
+ {
1001
+ "type": "expression",
1002
+ "named": true
1003
+ },
1004
+ {
1005
+ "type": "sequence_expression",
1006
+ "named": true
1007
+ }
1008
+ ]
1009
+ }
1010
+ },
833
1011
  {
834
1012
  "type": "for_alt_statement",
835
1013
  "named": true,
@@ -838,9 +1016,39 @@
838
1016
  "multiple": true,
839
1017
  "required": false,
840
1018
  "types": [
1019
+ {
1020
+ "type": "comment_tag",
1021
+ "named": true
1022
+ },
1023
+ {
1024
+ "type": "expression_tag",
1025
+ "named": true
1026
+ },
1027
+ {
1028
+ "type": "raw_text",
1029
+ "named": true
1030
+ },
841
1031
  {
842
1032
  "type": "statement",
843
1033
  "named": true
1034
+ },
1035
+ {
1036
+ "type": "statement_tag",
1037
+ "named": true
1038
+ }
1039
+ ]
1040
+ },
1041
+ "close": {
1042
+ "multiple": false,
1043
+ "required": false,
1044
+ "types": [
1045
+ {
1046
+ "type": "statement_tag_close",
1047
+ "named": true
1048
+ },
1049
+ {
1050
+ "type": "statement_tag_trim_close",
1051
+ "named": true
844
1052
  }
845
1053
  ]
846
1054
  },
@@ -866,6 +1074,38 @@
866
1074
  }
867
1075
  ]
868
1076
  },
1077
+ "end_close": {
1078
+ "multiple": false,
1079
+ "required": false,
1080
+ "types": [
1081
+ {
1082
+ "type": "statement_tag_close",
1083
+ "named": true
1084
+ },
1085
+ {
1086
+ "type": "statement_tag_trim_close",
1087
+ "named": true
1088
+ }
1089
+ ]
1090
+ },
1091
+ "end_open": {
1092
+ "multiple": false,
1093
+ "required": false,
1094
+ "types": [
1095
+ {
1096
+ "type": "statement_tag_lstrip_open",
1097
+ "named": true
1098
+ },
1099
+ {
1100
+ "type": "statement_tag_open",
1101
+ "named": true
1102
+ },
1103
+ {
1104
+ "type": "statement_tag_trim_open",
1105
+ "named": true
1106
+ }
1107
+ ]
1108
+ },
869
1109
  "increment": {
870
1110
  "multiple": false,
871
1111
  "required": false,
@@ -901,7 +1141,35 @@
901
1141
  "named": true
902
1142
  }
903
1143
  ]
1144
+ },
1145
+ "open": {
1146
+ "multiple": false,
1147
+ "required": false,
1148
+ "types": [
1149
+ {
1150
+ "type": "statement_tag_lstrip_open",
1151
+ "named": true
1152
+ },
1153
+ {
1154
+ "type": "statement_tag_open",
1155
+ "named": true
1156
+ },
1157
+ {
1158
+ "type": "statement_tag_trim_open",
1159
+ "named": true
1160
+ }
1161
+ ]
904
1162
  }
1163
+ },
1164
+ "children": {
1165
+ "multiple": true,
1166
+ "required": false,
1167
+ "types": [
1168
+ {
1169
+ "type": "statement",
1170
+ "named": true
1171
+ }
1172
+ ]
905
1173
  }
906
1174
  },
907
1175
  {
@@ -912,15 +1180,77 @@
912
1180
  "multiple": true,
913
1181
  "required": false,
914
1182
  "types": [
1183
+ {
1184
+ "type": "comment_tag",
1185
+ "named": true
1186
+ },
1187
+ {
1188
+ "type": "expression_tag",
1189
+ "named": true
1190
+ },
1191
+ {
1192
+ "type": "raw_text",
1193
+ "named": true
1194
+ },
915
1195
  {
916
1196
  "type": "statement",
917
1197
  "named": true
1198
+ },
1199
+ {
1200
+ "type": "statement_tag",
1201
+ "named": true
918
1202
  }
919
1203
  ]
920
1204
  },
921
- "kind": {
1205
+ "close": {
1206
+ "multiple": false,
1207
+ "required": false,
1208
+ "types": [
1209
+ {
1210
+ "type": "statement_tag_close",
1211
+ "named": true
1212
+ },
1213
+ {
1214
+ "type": "statement_tag_trim_close",
1215
+ "named": true
1216
+ }
1217
+ ]
1218
+ },
1219
+ "end_close": {
922
1220
  "multiple": false,
923
1221
  "required": false,
1222
+ "types": [
1223
+ {
1224
+ "type": "statement_tag_close",
1225
+ "named": true
1226
+ },
1227
+ {
1228
+ "type": "statement_tag_trim_close",
1229
+ "named": true
1230
+ }
1231
+ ]
1232
+ },
1233
+ "end_open": {
1234
+ "multiple": false,
1235
+ "required": false,
1236
+ "types": [
1237
+ {
1238
+ "type": "statement_tag_lstrip_open",
1239
+ "named": true
1240
+ },
1241
+ {
1242
+ "type": "statement_tag_open",
1243
+ "named": true
1244
+ },
1245
+ {
1246
+ "type": "statement_tag_trim_open",
1247
+ "named": true
1248
+ }
1249
+ ]
1250
+ },
1251
+ "kind": {
1252
+ "multiple": true,
1253
+ "required": false,
924
1254
  "types": [
925
1255
  {
926
1256
  "type": "const",
@@ -932,26 +1262,44 @@
932
1262
  }
933
1263
  ]
934
1264
  },
935
- "left": {
1265
+ "left": {
1266
+ "multiple": true,
1267
+ "required": true,
1268
+ "types": [
1269
+ {
1270
+ "type": "identifier",
1271
+ "named": true
1272
+ },
1273
+ {
1274
+ "type": "member_expression",
1275
+ "named": true
1276
+ },
1277
+ {
1278
+ "type": "subscript_expression",
1279
+ "named": true
1280
+ }
1281
+ ]
1282
+ },
1283
+ "open": {
936
1284
  "multiple": false,
937
- "required": true,
1285
+ "required": false,
938
1286
  "types": [
939
1287
  {
940
- "type": "identifier",
1288
+ "type": "statement_tag_lstrip_open",
941
1289
  "named": true
942
1290
  },
943
1291
  {
944
- "type": "member_expression",
1292
+ "type": "statement_tag_open",
945
1293
  "named": true
946
1294
  },
947
1295
  {
948
- "type": "subscript_expression",
1296
+ "type": "statement_tag_trim_open",
949
1297
  "named": true
950
1298
  }
951
1299
  ]
952
1300
  },
953
1301
  "right": {
954
- "multiple": false,
1302
+ "multiple": true,
955
1303
  "required": true,
956
1304
  "types": [
957
1305
  {
@@ -965,7 +1313,7 @@
965
1313
  ]
966
1314
  },
967
1315
  "value": {
968
- "multiple": false,
1316
+ "multiple": true,
969
1317
  "required": false,
970
1318
  "types": [
971
1319
  {
@@ -974,6 +1322,16 @@
974
1322
  }
975
1323
  ]
976
1324
  }
1325
+ },
1326
+ "children": {
1327
+ "multiple": true,
1328
+ "required": false,
1329
+ "types": [
1330
+ {
1331
+ "type": "statement",
1332
+ "named": true
1333
+ }
1334
+ ]
977
1335
  }
978
1336
  },
979
1337
  {
@@ -1235,6 +1593,20 @@
1235
1593
  }
1236
1594
  ]
1237
1595
  },
1596
+ "close": {
1597
+ "multiple": false,
1598
+ "required": false,
1599
+ "types": [
1600
+ {
1601
+ "type": "statement_tag_close",
1602
+ "named": true
1603
+ },
1604
+ {
1605
+ "type": "statement_tag_trim_close",
1606
+ "named": true
1607
+ }
1608
+ ]
1609
+ },
1238
1610
  "condition": {
1239
1611
  "multiple": false,
1240
1612
  "required": true,
@@ -1264,7 +1636,91 @@
1264
1636
  "named": true
1265
1637
  }
1266
1638
  ]
1639
+ },
1640
+ "end_close": {
1641
+ "multiple": false,
1642
+ "required": false,
1643
+ "types": [
1644
+ {
1645
+ "type": "statement_tag_close",
1646
+ "named": true
1647
+ },
1648
+ {
1649
+ "type": "statement_tag_trim_close",
1650
+ "named": true
1651
+ }
1652
+ ]
1653
+ },
1654
+ "end_open": {
1655
+ "multiple": false,
1656
+ "required": false,
1657
+ "types": [
1658
+ {
1659
+ "type": "statement_tag_lstrip_open",
1660
+ "named": true
1661
+ },
1662
+ {
1663
+ "type": "statement_tag_open",
1664
+ "named": true
1665
+ },
1666
+ {
1667
+ "type": "statement_tag_trim_open",
1668
+ "named": true
1669
+ }
1670
+ ]
1671
+ },
1672
+ "open": {
1673
+ "multiple": false,
1674
+ "required": false,
1675
+ "types": [
1676
+ {
1677
+ "type": "statement_tag_lstrip_open",
1678
+ "named": true
1679
+ },
1680
+ {
1681
+ "type": "statement_tag_open",
1682
+ "named": true
1683
+ },
1684
+ {
1685
+ "type": "statement_tag_trim_open",
1686
+ "named": true
1687
+ }
1688
+ ]
1267
1689
  }
1690
+ },
1691
+ "children": {
1692
+ "multiple": true,
1693
+ "required": false,
1694
+ "types": [
1695
+ {
1696
+ "type": "comment_tag",
1697
+ "named": true
1698
+ },
1699
+ {
1700
+ "type": "elif_clause_tag",
1701
+ "named": true
1702
+ },
1703
+ {
1704
+ "type": "else_alt_clause_tag",
1705
+ "named": true
1706
+ },
1707
+ {
1708
+ "type": "expression_tag",
1709
+ "named": true
1710
+ },
1711
+ {
1712
+ "type": "raw_text",
1713
+ "named": true
1714
+ },
1715
+ {
1716
+ "type": "statement",
1717
+ "named": true
1718
+ },
1719
+ {
1720
+ "type": "statement_tag",
1721
+ "named": true
1722
+ }
1723
+ ]
1268
1724
  }
1269
1725
  },
1270
1726
  {
@@ -1713,6 +2169,54 @@
1713
2169
  ]
1714
2170
  }
1715
2171
  },
2172
+ {
2173
+ "type": "statement_tag",
2174
+ "named": true,
2175
+ "fields": {
2176
+ "close": {
2177
+ "multiple": false,
2178
+ "required": true,
2179
+ "types": [
2180
+ {
2181
+ "type": "statement_tag_close",
2182
+ "named": true
2183
+ },
2184
+ {
2185
+ "type": "statement_tag_trim_close",
2186
+ "named": true
2187
+ }
2188
+ ]
2189
+ },
2190
+ "open": {
2191
+ "multiple": false,
2192
+ "required": true,
2193
+ "types": [
2194
+ {
2195
+ "type": "statement_tag_lstrip_open",
2196
+ "named": true
2197
+ },
2198
+ {
2199
+ "type": "statement_tag_open",
2200
+ "named": true
2201
+ },
2202
+ {
2203
+ "type": "statement_tag_trim_open",
2204
+ "named": true
2205
+ }
2206
+ ]
2207
+ }
2208
+ },
2209
+ "children": {
2210
+ "multiple": true,
2211
+ "required": false,
2212
+ "types": [
2213
+ {
2214
+ "type": "statement",
2215
+ "named": true
2216
+ }
2217
+ ]
2218
+ }
2219
+ },
1716
2220
  {
1717
2221
  "type": "string",
1718
2222
  "named": true,
@@ -2073,9 +2577,39 @@
2073
2577
  "multiple": true,
2074
2578
  "required": false,
2075
2579
  "types": [
2580
+ {
2581
+ "type": "comment_tag",
2582
+ "named": true
2583
+ },
2584
+ {
2585
+ "type": "expression_tag",
2586
+ "named": true
2587
+ },
2588
+ {
2589
+ "type": "raw_text",
2590
+ "named": true
2591
+ },
2076
2592
  {
2077
2593
  "type": "statement",
2078
2594
  "named": true
2595
+ },
2596
+ {
2597
+ "type": "statement_tag",
2598
+ "named": true
2599
+ }
2600
+ ]
2601
+ },
2602
+ "close": {
2603
+ "multiple": false,
2604
+ "required": false,
2605
+ "types": [
2606
+ {
2607
+ "type": "statement_tag_close",
2608
+ "named": true
2609
+ },
2610
+ {
2611
+ "type": "statement_tag_trim_close",
2612
+ "named": true
2079
2613
  }
2080
2614
  ]
2081
2615
  },
@@ -2088,7 +2622,67 @@
2088
2622
  "named": true
2089
2623
  }
2090
2624
  ]
2625
+ },
2626
+ "end_close": {
2627
+ "multiple": false,
2628
+ "required": false,
2629
+ "types": [
2630
+ {
2631
+ "type": "statement_tag_close",
2632
+ "named": true
2633
+ },
2634
+ {
2635
+ "type": "statement_tag_trim_close",
2636
+ "named": true
2637
+ }
2638
+ ]
2639
+ },
2640
+ "end_open": {
2641
+ "multiple": false,
2642
+ "required": false,
2643
+ "types": [
2644
+ {
2645
+ "type": "statement_tag_lstrip_open",
2646
+ "named": true
2647
+ },
2648
+ {
2649
+ "type": "statement_tag_open",
2650
+ "named": true
2651
+ },
2652
+ {
2653
+ "type": "statement_tag_trim_open",
2654
+ "named": true
2655
+ }
2656
+ ]
2657
+ },
2658
+ "open": {
2659
+ "multiple": false,
2660
+ "required": false,
2661
+ "types": [
2662
+ {
2663
+ "type": "statement_tag_lstrip_open",
2664
+ "named": true
2665
+ },
2666
+ {
2667
+ "type": "statement_tag_open",
2668
+ "named": true
2669
+ },
2670
+ {
2671
+ "type": "statement_tag_trim_open",
2672
+ "named": true
2673
+ }
2674
+ ]
2091
2675
  }
2676
+ },
2677
+ "children": {
2678
+ "multiple": true,
2679
+ "required": false,
2680
+ "types": [
2681
+ {
2682
+ "type": "statement",
2683
+ "named": true
2684
+ }
2685
+ ]
2092
2686
  }
2093
2687
  },
2094
2688
  {
@@ -2133,6 +2727,10 @@
2133
2727
  "type": "\"",
2134
2728
  "named": false
2135
2729
  },
2730
+ {
2731
+ "type": "#}",
2732
+ "named": false
2733
+ },
2136
2734
  {
2137
2735
  "type": "${",
2138
2736
  "named": false
@@ -2209,6 +2807,10 @@
2209
2807
  "type": "-",
2210
2808
  "named": false
2211
2809
  },
2810
+ {
2811
+ "type": "-#}",
2812
+ "named": false
2813
+ },
2212
2814
  {
2213
2815
  "type": "--",
2214
2816
  "named": false
@@ -2342,6 +2944,10 @@
2342
2944
  "named": true,
2343
2945
  "extra": true
2344
2946
  },
2947
+ {
2948
+ "type": "comment_content",
2949
+ "named": true
2950
+ },
2345
2951
  {
2346
2952
  "type": "const",
2347
2953
  "named": false
@@ -2390,6 +2996,22 @@
2390
2996
  "type": "export",
2391
2997
  "named": false
2392
2998
  },
2999
+ {
3000
+ "type": "expression_tag_close",
3001
+ "named": true
3002
+ },
3003
+ {
3004
+ "type": "expression_tag_open",
3005
+ "named": true
3006
+ },
3007
+ {
3008
+ "type": "expression_tag_trim_close",
3009
+ "named": true
3010
+ },
3011
+ {
3012
+ "type": "expression_tag_trim_open",
3013
+ "named": true
3014
+ },
2393
3015
  {
2394
3016
  "type": "false",
2395
3017
  "named": true
@@ -2450,6 +3072,10 @@
2450
3072
  "type": "property_identifier",
2451
3073
  "named": true
2452
3074
  },
3075
+ {
3076
+ "type": "raw_text",
3077
+ "named": true
3078
+ },
2453
3079
  {
2454
3080
  "type": "regex_flags",
2455
3081
  "named": true
@@ -2474,6 +3100,26 @@
2474
3100
  "type": "statement_identifier",
2475
3101
  "named": true
2476
3102
  },
3103
+ {
3104
+ "type": "statement_tag_close",
3105
+ "named": true
3106
+ },
3107
+ {
3108
+ "type": "statement_tag_lstrip_open",
3109
+ "named": true
3110
+ },
3111
+ {
3112
+ "type": "statement_tag_open",
3113
+ "named": true
3114
+ },
3115
+ {
3116
+ "type": "statement_tag_trim_close",
3117
+ "named": true
3118
+ },
3119
+ {
3120
+ "type": "statement_tag_trim_open",
3121
+ "named": true
3122
+ },
2477
3123
  {
2478
3124
  "type": "string_fragment",
2479
3125
  "named": true
@@ -2502,6 +3148,14 @@
2502
3148
  "type": "{",
2503
3149
  "named": false
2504
3150
  },
3151
+ {
3152
+ "type": "{#",
3153
+ "named": false
3154
+ },
3155
+ {
3156
+ "type": "{#-",
3157
+ "named": false
3158
+ },
2505
3159
  {
2506
3160
  "type": "|",
2507
3161
  "named": false