@apple/tree-sitter-pkl 0.17.0 → 0.18.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 (699) hide show
  1. package/.editorconfig +46 -0
  2. package/.gitattributes +50 -0
  3. package/CHANGELOG.adoc +56 -0
  4. package/CMakeLists.txt +66 -0
  5. package/Cargo.lock +21 -21
  6. package/Cargo.toml +1 -1
  7. package/Makefile +97 -0
  8. package/README.md +11 -13
  9. package/bindings/c/tree-sitter-pkl.pc.in +10 -0
  10. package/bindings/c/tree_sitter/tree-sitter-pkl.h +16 -0
  11. package/bindings/go/binding.go +15 -0
  12. package/bindings/go/binding_test.go +15 -0
  13. package/bindings/node/binding_test.js +9 -0
  14. package/bindings/node/index.d.ts +27 -0
  15. package/bindings/python/tests/test_binding.py +12 -0
  16. package/bindings/python/tree_sitter_pkl/__init__.py +42 -0
  17. package/bindings/python/tree_sitter_pkl/__init__.pyi +10 -0
  18. package/bindings/python/tree_sitter_pkl/binding.c +35 -0
  19. package/bindings/python/tree_sitter_pkl/py.typed +0 -0
  20. package/bindings/swift/TreeSitterPklTests/TreeSitterPklTests.swift +12 -0
  21. package/go.mod +7 -0
  22. package/go.sum +36 -0
  23. package/gradle.properties +5 -0
  24. package/gradlew +251 -0
  25. package/gradlew.bat +94 -0
  26. package/grammar.js +225 -195
  27. package/licenserc.toml +23 -0
  28. package/package.json +3 -2
  29. package/pyproject.toml +29 -0
  30. package/queries/highlights.scm +11 -16
  31. package/queries/injections.scm +1 -1
  32. package/queries/locals.scm +2 -2
  33. package/scripts/license-header.txt +13 -0
  34. package/setup.py +77 -0
  35. package/src/grammar.json +939 -883
  36. package/src/node-types.json +4392 -2028
  37. package/src/parser.c +30848 -34740
  38. package/src/scanner.c +43 -7
  39. package/src/tree_sitter/alloc.h +4 -4
  40. package/src/tree_sitter/array.h +2 -1
  41. package/src/tree_sitter/parser.h +29 -7
  42. package/test/corpus/basic/annotation.txt +28 -30
  43. package/test/corpus/basic/comments.txt +5 -5
  44. package/test/corpus/basic/shebangComment.txt +1 -1
  45. package/test/corpus/basic/types.txt +86 -131
  46. package/test/corpus/class/constModifier.txt +4 -5
  47. package/test/corpus/class/fixedModifier.txt +4 -5
  48. package/test/corpus/expr/binary.txt +75 -77
  49. package/test/corpus/expr/binary2.txt +18 -0
  50. package/test/corpus/expr/functionLiteral.txt +7 -8
  51. package/test/corpus/expr/if.txt +3 -3
  52. package/test/corpus/expr/import.txt +1 -1
  53. package/test/corpus/expr/let.txt +2 -2
  54. package/test/corpus/expr/new.txt +8 -10
  55. package/test/corpus/expr/qualifiedAccess.txt +34 -27
  56. package/test/corpus/expr/read.txt +8 -11
  57. package/test/corpus/expr/subscript.txt +48 -0
  58. package/test/corpus/expr/super.txt +27 -0
  59. package/test/corpus/expr/throw.txt +2 -3
  60. package/test/corpus/expr/trace.txt +2 -3
  61. package/test/corpus/expr/typeTest.txt +40 -0
  62. package/test/corpus/expr/unaryMinus.txt +22 -0
  63. package/test/corpus/module/moduleHeader1.txt +1 -1
  64. package/test/corpus/module/moduleHeader2.txt +1 -1
  65. package/test/corpus/module/moduleHeader3.error.txt +5 -5
  66. package/test/corpus/module/moduleHeader4.txt +1 -1
  67. package/test/corpus/number/underscores.txt +25 -25
  68. package/test/corpus/object/mixedEntriesAndElements.txt +52 -0
  69. package/test/corpus/object/objectAmendChain.txt +4 -4
  70. package/test/corpus/object/objectBodyParams.txt +21 -0
  71. package/test/corpus/object/objectElementWithTypeConstraint +30 -0
  72. package/test/corpus/object/objectElementsWithParens.txt +10 -10
  73. package/test/corpus/object/objectElementsWithTypeParams +65 -0
  74. package/test/corpus/object/objectGenerator.txt +8 -8
  75. package/test/corpus/object/objectMember.txt +27 -27
  76. package/test/corpus/object/objectMemberPredicate.txt +14 -14
  77. package/test/corpus/object/objectSpread.txt +8 -8
  78. package/test/corpus/object/objectWhenGenerator.txt +10 -10
  79. package/test/corpus/snippetTests/annotation/annotation1.txt +284 -0
  80. package/test/corpus/snippetTests/annotation/annotation2.txt +20 -0
  81. package/test/corpus/snippetTests/annotation/annotation3.txt +24 -0
  82. package/test/corpus/snippetTests/annotation/annotation4.txt +32 -0
  83. package/test/corpus/snippetTests/annotation/annotation5.txt +28 -0
  84. package/test/corpus/snippetTests/annotation/annotation6.txt +19 -0
  85. package/test/corpus/snippetTests/annotation/annotationIsNotExpression.txt +29 -0
  86. package/test/corpus/snippetTests/annotation/deprecated1.txt +385 -0
  87. package/test/corpus/snippetTests/annotation/deprecated2.txt +99 -0
  88. package/test/corpus/snippetTests/annotation/deprecated3.txt +155 -0
  89. package/test/corpus/snippetTests/annotation/deprecatedNoRepeatedWarnings.txt +58 -0
  90. package/test/corpus/snippetTests/annotation/deprecatedWithMessage1.txt +405 -0
  91. package/test/corpus/snippetTests/annotation/deprecatedWithMessage2.txt +104 -0
  92. package/test/corpus/snippetTests/annotation/deprecatedWithMessage3.txt +155 -0
  93. package/test/corpus/snippetTests/annotation/deprecationSuperMethod.txt +144 -0
  94. package/test/corpus/snippetTests/api/Resource.txt +128 -0
  95. package/test/corpus/snippetTests/api/analyze1.txt +176 -0
  96. package/test/corpus/snippetTests/api/any.txt +523 -0
  97. package/test/corpus/snippetTests/api/anyConverter.txt +161 -0
  98. package/test/corpus/snippetTests/api/baseModule.txt +170 -0
  99. package/test/corpus/snippetTests/api/dataSize.txt +1165 -0
  100. package/test/corpus/snippetTests/api/duration.txt +800 -0
  101. package/test/corpus/snippetTests/api/float.txt +1334 -0
  102. package/test/corpus/snippetTests/api/int.txt +1142 -0
  103. package/test/corpus/snippetTests/api/intseq.txt +1021 -0
  104. package/test/corpus/snippetTests/api/jsonParser1.txt +279 -0
  105. package/test/corpus/snippetTests/api/jsonParser2.txt +294 -0
  106. package/test/corpus/snippetTests/api/jsonParser3.txt +143 -0
  107. package/test/corpus/snippetTests/api/jsonParser4.txt +112 -0
  108. package/test/corpus/snippetTests/api/jsonParser5.txt +171 -0
  109. package/test/corpus/snippetTests/api/jsonRenderer1.json.txt +41 -0
  110. package/test/corpus/snippetTests/api/jsonRenderer2b.txt +300 -0
  111. package/test/corpus/snippetTests/api/jsonRenderer3.json.txt +334 -0
  112. package/test/corpus/snippetTests/api/jsonRenderer4.txt +388 -0
  113. package/test/corpus/snippetTests/api/jsonRenderer5.txt +388 -0
  114. package/test/corpus/snippetTests/api/jsonRenderer6.json.txt +163 -0
  115. package/test/corpus/snippetTests/api/jsonRenderer7.txt +53 -0
  116. package/test/corpus/snippetTests/api/jsonRenderer8.txt +30 -0
  117. package/test/corpus/snippetTests/api/jsonRendererEmptyComposites.txt +114 -0
  118. package/test/corpus/snippetTests/api/jsonnetRenderer3.jsonnet.txt +356 -0
  119. package/test/corpus/snippetTests/api/jsonnetRenderer4.txt +393 -0
  120. package/test/corpus/snippetTests/api/jsonnetRenderer5.txt +393 -0
  121. package/test/corpus/snippetTests/api/jsonnetRenderer6.jsonnet.txt +169 -0
  122. package/test/corpus/snippetTests/api/jsonnetRenderer7.txt +36 -0
  123. package/test/corpus/snippetTests/api/list.txt +4432 -0
  124. package/test/corpus/snippetTests/api/listNullable.txt +1513 -0
  125. package/test/corpus/snippetTests/api/map.txt +1144 -0
  126. package/test/corpus/snippetTests/api/mapping.txt +948 -0
  127. package/test/corpus/snippetTests/api/mathModule.txt +1426 -0
  128. package/test/corpus/snippetTests/api/module.txt +77 -0
  129. package/test/corpus/snippetTests/api/moduleOutput.txt +24 -0
  130. package/test/corpus/snippetTests/api/moduleOutput2.txt +25 -0
  131. package/test/corpus/snippetTests/api/pListRenderer1.plist.txt +41 -0
  132. package/test/corpus/snippetTests/api/pListRenderer3.plist.txt +348 -0
  133. package/test/corpus/snippetTests/api/pListRenderer4.txt +375 -0
  134. package/test/corpus/snippetTests/api/pListRenderer5.txt +424 -0
  135. package/test/corpus/snippetTests/api/pListRenderer6.plist.txt +163 -0
  136. package/test/corpus/snippetTests/api/pListRenderer7.txt +30 -0
  137. package/test/corpus/snippetTests/api/pair.txt +170 -0
  138. package/test/corpus/snippetTests/api/pcfRenderer1.txt +95 -0
  139. package/test/corpus/snippetTests/api/pcfRenderer2b.txt +301 -0
  140. package/test/corpus/snippetTests/api/pcfRenderer3.txt +350 -0
  141. package/test/corpus/snippetTests/api/pcfRenderer4.txt +391 -0
  142. package/test/corpus/snippetTests/api/pcfRenderer5.txt +460 -0
  143. package/test/corpus/snippetTests/api/pcfRenderer6.txt +118 -0
  144. package/test/corpus/snippetTests/api/pcfRenderer8.txt +16 -0
  145. package/test/corpus/snippetTests/api/platformModule.txt +147 -0
  146. package/test/corpus/snippetTests/api/plistRenderer2b.txt +300 -0
  147. package/test/corpus/snippetTests/api/propertiesRenderer1.properties.txt +41 -0
  148. package/test/corpus/snippetTests/api/propertiesRenderer10.properties.txt +24 -0
  149. package/test/corpus/snippetTests/api/propertiesRenderer11.txt +30 -0
  150. package/test/corpus/snippetTests/api/propertiesRenderer2b.txt +303 -0
  151. package/test/corpus/snippetTests/api/propertiesRenderer4.txt +484 -0
  152. package/test/corpus/snippetTests/api/propertiesRenderer5.txt +491 -0
  153. package/test/corpus/snippetTests/api/propertiesRenderer8.properties.txt +628 -0
  154. package/test/corpus/snippetTests/api/propertiesRenderer9.properties.txt +292 -0
  155. package/test/corpus/snippetTests/api/propertiesRendererBug66849708.properties.txt +106 -0
  156. package/test/corpus/snippetTests/api/protobuf2.txt +408 -0
  157. package/test/corpus/snippetTests/api/reflect1.txt +1686 -0
  158. package/test/corpus/snippetTests/api/reflect2.txt +480 -0
  159. package/test/corpus/snippetTests/api/reflect3.txt +193 -0
  160. package/test/corpus/snippetTests/api/reflectedDeclaration.txt +64 -0
  161. package/test/corpus/snippetTests/api/regex.txt +320 -0
  162. package/test/corpus/snippetTests/api/releaseModule.txt +262 -0
  163. package/test/corpus/snippetTests/api/renderDirective2.txt +374 -0
  164. package/test/corpus/snippetTests/api/semverModule.txt +2224 -0
  165. package/test/corpus/snippetTests/api/set.txt +3891 -0
  166. package/test/corpus/snippetTests/api/setNullable.txt +1113 -0
  167. package/test/corpus/snippetTests/api/typeAliases.txt +449 -0
  168. package/test/corpus/snippetTests/api/typeConverters.txt +211 -0
  169. package/test/corpus/snippetTests/api/xmlRenderer1.xml.txt +174 -0
  170. package/test/corpus/snippetTests/api/xmlRenderer2b.txt +306 -0
  171. package/test/corpus/snippetTests/api/xmlRenderer3.xml.txt +320 -0
  172. package/test/corpus/snippetTests/api/xmlRenderer4.txt +401 -0
  173. package/test/corpus/snippetTests/api/xmlRenderer5.txt +402 -0
  174. package/test/corpus/snippetTests/api/xmlRenderer6.xml.txt +169 -0
  175. package/test/corpus/snippetTests/api/xmlRenderer8.txt +36 -0
  176. package/test/corpus/snippetTests/api/xmlRendererCData.xml.txt +48 -0
  177. package/test/corpus/snippetTests/api/xmlRendererElement.xml.txt +103 -0
  178. package/test/corpus/snippetTests/api/xmlRendererHtml.xml.txt +212 -0
  179. package/test/corpus/snippetTests/api/xmlRendererInline.xml.txt +175 -0
  180. package/test/corpus/snippetTests/api/xmlRendererInline3.xml.txt +152 -0
  181. package/test/corpus/snippetTests/api/yamlParser1Yaml11.txt +22 -0
  182. package/test/corpus/snippetTests/api/yamlParser1Yaml12.txt +22 -0
  183. package/test/corpus/snippetTests/api/yamlParser2.txt +253 -0
  184. package/test/corpus/snippetTests/api/yamlParser3.txt +194 -0
  185. package/test/corpus/snippetTests/api/yamlParser4.txt +198 -0
  186. package/test/corpus/snippetTests/api/yamlParser5.txt +86 -0
  187. package/test/corpus/snippetTests/api/yamlParser6.txt +92 -0
  188. package/test/corpus/snippetTests/api/yamlRenderer1.yml.txt +41 -0
  189. package/test/corpus/snippetTests/api/yamlRenderer2b.txt +300 -0
  190. package/test/corpus/snippetTests/api/yamlRenderer3.yml.txt +342 -0
  191. package/test/corpus/snippetTests/api/yamlRenderer4.txt +441 -0
  192. package/test/corpus/snippetTests/api/yamlRenderer5.txt +441 -0
  193. package/test/corpus/snippetTests/api/yamlRenderer6.yml.txt +163 -0
  194. package/test/corpus/snippetTests/api/yamlRenderer7.txt +30 -0
  195. package/test/corpus/snippetTests/api/yamlRenderer8.yml.txt +142 -0
  196. package/test/corpus/snippetTests/api/yamlRendererBug66849708.yml.txt +106 -0
  197. package/test/corpus/snippetTests/api/yamlRendererEmpty.yml.txt +326 -0
  198. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth2.yml.txt +227 -0
  199. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth4.yml.txt +32 -0
  200. package/test/corpus/snippetTests/api/yamlRendererIndentationWidth5.yml.txt +32 -0
  201. package/test/corpus/snippetTests/api/yamlRendererStream1.txt +140 -0
  202. package/test/corpus/snippetTests/api/yamlRendererStringsYaml11.txt +22 -0
  203. package/test/corpus/snippetTests/api/yamlRendererStringsYaml12.txt +22 -0
  204. package/test/corpus/snippetTests/basic/amendsChains.txt +275 -0
  205. package/test/corpus/snippetTests/basic/as.txt +1468 -0
  206. package/test/corpus/snippetTests/basic/as2.txt +1077 -0
  207. package/test/corpus/snippetTests/basic/as3.txt +297 -0
  208. package/test/corpus/snippetTests/basic/baseModule.txt +11 -0
  209. package/test/corpus/snippetTests/basic/boolean.txt +430 -0
  210. package/test/corpus/snippetTests/basic/constModifier.txt +324 -0
  211. package/test/corpus/snippetTests/basic/constModifier2.txt +227 -0
  212. package/test/corpus/snippetTests/basic/constModifier3.txt +136 -0
  213. package/test/corpus/snippetTests/basic/constModifier4.txt +64 -0
  214. package/test/corpus/snippetTests/basic/constModifier5.txt +68 -0
  215. package/test/corpus/snippetTests/basic/dataSize.txt +658 -0
  216. package/test/corpus/snippetTests/basic/duration.txt +618 -0
  217. package/test/corpus/snippetTests/basic/exceptions.txt +18 -0
  218. package/test/corpus/snippetTests/basic/fixedProperty1.txt +62 -0
  219. package/test/corpus/snippetTests/basic/fixedProperty2.txt +33 -0
  220. package/test/corpus/snippetTests/basic/fixedProperty3.txt +31 -0
  221. package/test/corpus/snippetTests/basic/fixedProperty4.txt +15 -0
  222. package/test/corpus/snippetTests/basic/fixedProperty5.txt +20 -0
  223. package/test/corpus/snippetTests/basic/fixedProperty6.txt +15 -0
  224. package/test/corpus/snippetTests/basic/if.txt +83 -0
  225. package/test/corpus/snippetTests/basic/import1.txt +51 -0
  226. package/test/corpus/snippetTests/basic/import1b.txt +51 -0
  227. package/test/corpus/snippetTests/basic/import2.txt +34 -0
  228. package/test/corpus/snippetTests/basic/import3.txt +34 -0
  229. package/test/corpus/snippetTests/basic/imported.txt +19 -0
  230. package/test/corpus/snippetTests/basic/indexExpressions.txt +53 -0
  231. package/test/corpus/snippetTests/basic/intseq.txt +365 -0
  232. package/test/corpus/snippetTests/basic/is.txt +1504 -0
  233. package/test/corpus/snippetTests/basic/is2.txt +677 -0
  234. package/test/corpus/snippetTests/basic/let.txt +515 -0
  235. package/test/corpus/snippetTests/basic/letTyped.txt +293 -0
  236. package/test/corpus/snippetTests/basic/list.txt +252 -0
  237. package/test/corpus/snippetTests/basic/localMethodDynamicBinding.txt +187 -0
  238. package/test/corpus/snippetTests/basic/localMethodInAmendingModule.txt +216 -0
  239. package/test/corpus/snippetTests/basic/localMethodOverride1.txt +152 -0
  240. package/test/corpus/snippetTests/basic/localMethodOverride2.txt +173 -0
  241. package/test/corpus/snippetTests/basic/localMethodTyped.txt +564 -0
  242. package/test/corpus/snippetTests/basic/localMethodTyped2.txt +580 -0
  243. package/test/corpus/snippetTests/basic/localMethodTyped3.txt +218 -0
  244. package/test/corpus/snippetTests/basic/localMethodTyped4.txt +232 -0
  245. package/test/corpus/snippetTests/basic/localMethodTyped5.txt +211 -0
  246. package/test/corpus/snippetTests/basic/localMethodTyped6.txt +225 -0
  247. package/test/corpus/snippetTests/basic/localMethodUntyped.txt +488 -0
  248. package/test/corpus/snippetTests/basic/localModuleMemberOverride1.txt +227 -0
  249. package/test/corpus/snippetTests/basic/localModuleMemberOverride2.txt +202 -0
  250. package/test/corpus/snippetTests/basic/localProperty1.txt +33 -0
  251. package/test/corpus/snippetTests/basic/localProperty2.txt +77 -0
  252. package/test/corpus/snippetTests/basic/localPropertyAmendInAmendingModule.txt +25 -0
  253. package/test/corpus/snippetTests/basic/localPropertyInAmendingModule.txt +205 -0
  254. package/test/corpus/snippetTests/basic/localPropertyOverride1.txt +131 -0
  255. package/test/corpus/snippetTests/basic/localPropertyOverride2.txt +152 -0
  256. package/test/corpus/snippetTests/basic/localPropertyOverride3.txt +52 -0
  257. package/test/corpus/snippetTests/basic/localTypedClassMember.txt +277 -0
  258. package/test/corpus/snippetTests/basic/localTypedModuleMember.txt +265 -0
  259. package/test/corpus/snippetTests/basic/localTypedObjectMember.txt +268 -0
  260. package/test/corpus/snippetTests/basic/map.txt +398 -0
  261. package/test/corpus/snippetTests/basic/minPklVersion.txt +40 -0
  262. package/test/corpus/snippetTests/basic/moduleRef1.txt +108 -0
  263. package/test/corpus/snippetTests/basic/moduleRef2.txt +80 -0
  264. package/test/corpus/snippetTests/basic/moduleRef3.txt +112 -0
  265. package/test/corpus/snippetTests/basic/moduleRefLibrary.txt +33 -0
  266. package/test/corpus/snippetTests/basic/new.txt +1028 -0
  267. package/test/corpus/snippetTests/basic/newInAmendingModuleMethod.txt +116 -0
  268. package/test/corpus/snippetTests/basic/newInsideIf.txt +841 -0
  269. package/test/corpus/snippetTests/basic/newInsideLet.txt +869 -0
  270. package/test/corpus/snippetTests/basic/newType.txt +686 -0
  271. package/test/corpus/snippetTests/basic/nonNull.txt +131 -0
  272. package/test/corpus/snippetTests/basic/nullable.txt +239 -0
  273. package/test/corpus/snippetTests/basic/objectMember.txt +129 -0
  274. package/test/corpus/snippetTests/basic/objectMemberInvalid.txt +18 -0
  275. package/test/corpus/snippetTests/basic/objectMemberInvalid2.txt +18 -0
  276. package/test/corpus/snippetTests/basic/objectMemberInvalid3.txt +22 -0
  277. package/test/corpus/snippetTests/basic/parens.txt +59 -0
  278. package/test/corpus/snippetTests/basic/propertyDefaults.txt +126 -0
  279. package/test/corpus/snippetTests/basic/read.txt +250 -0
  280. package/test/corpus/snippetTests/basic/readGlob.txt +209 -0
  281. package/test/corpus/snippetTests/basic/semicolon.txt +18 -0
  282. package/test/corpus/snippetTests/basic/set.txt +340 -0
  283. package/test/corpus/snippetTests/basic/trace.txt +130 -0
  284. package/test/corpus/snippetTests/basic/typeResolution1.txt +31 -0
  285. package/test/corpus/snippetTests/basic/typeResolution2.txt +37 -0
  286. package/test/corpus/snippetTests/basic/typeResolution3.txt +63 -0
  287. package/test/corpus/snippetTests/basic/typeResolution4.txt +61 -0
  288. package/test/corpus/snippetTests/basic/underscore.txt +419 -0
  289. package/test/corpus/snippetTests/classes/class1.txt +54 -0
  290. package/test/corpus/snippetTests/classes/class2.txt +123 -0
  291. package/test/corpus/snippetTests/classes/class2a.txt +110 -0
  292. package/test/corpus/snippetTests/classes/class3.txt +65 -0
  293. package/test/corpus/snippetTests/classes/class4.txt +58 -0
  294. package/test/corpus/snippetTests/classes/constraints1.txt +141 -0
  295. package/test/corpus/snippetTests/classes/constraints11.txt +201 -0
  296. package/test/corpus/snippetTests/classes/constraints12.txt +204 -0
  297. package/test/corpus/snippetTests/classes/constraints13.txt +86 -0
  298. package/test/corpus/snippetTests/classes/constraints14.txt +39 -0
  299. package/test/corpus/snippetTests/classes/constraints2.txt +69 -0
  300. package/test/corpus/snippetTests/classes/constraints3.txt +97 -0
  301. package/test/corpus/snippetTests/classes/constraints4.txt +86 -0
  302. package/test/corpus/snippetTests/classes/constraints5.txt +71 -0
  303. package/test/corpus/snippetTests/classes/constraints6.txt +85 -0
  304. package/test/corpus/snippetTests/classes/constraints7.txt +148 -0
  305. package/test/corpus/snippetTests/classes/constraints8.txt +103 -0
  306. package/test/corpus/snippetTests/classes/constraints9.txt +92 -0
  307. package/test/corpus/snippetTests/classes/constraintsLambdaThis.txt +216 -0
  308. package/test/corpus/snippetTests/classes/equality.txt +123 -0
  309. package/test/corpus/snippetTests/classes/externalClass.txt +12 -0
  310. package/test/corpus/snippetTests/classes/externalFunction.txt +18 -0
  311. package/test/corpus/snippetTests/classes/externalProperty.txt +20 -0
  312. package/test/corpus/snippetTests/classes/functions1.txt +77 -0
  313. package/test/corpus/snippetTests/classes/functions2.txt +56 -0
  314. package/test/corpus/snippetTests/classes/functions3.txt +81 -0
  315. package/test/corpus/snippetTests/classes/functions4.txt +125 -0
  316. package/test/corpus/snippetTests/classes/inheritance1.txt +98 -0
  317. package/test/corpus/snippetTests/classes/inheritance2.txt +91 -0
  318. package/test/corpus/snippetTests/classes/invalidInstantiation1.txt +16 -0
  319. package/test/corpus/snippetTests/classes/invalidInstantiation2.txt +21 -0
  320. package/test/corpus/snippetTests/classes/lambdaConstraints1.txt +190 -0
  321. package/test/corpus/snippetTests/classes/listConstraints1.txt +312 -0
  322. package/test/corpus/snippetTests/classes/mapConstraints1.txt +495 -0
  323. package/test/corpus/snippetTests/classes/nullableTypes.txt +187 -0
  324. package/test/corpus/snippetTests/classes/setConstraints1.txt +312 -0
  325. package/test/corpus/snippetTests/classes/supercalls.txt +317 -0
  326. package/test/corpus/snippetTests/classes/unionTypes.txt +543 -0
  327. package/test/corpus/snippetTests/classes/unionTypesErrorAlias.txt +93 -0
  328. package/test/corpus/snippetTests/classes/unionTypesErrorDifferent1.txt +47 -0
  329. package/test/corpus/snippetTests/classes/unionTypesErrorDifferent2.txt +52 -0
  330. package/test/corpus/snippetTests/classes/unionTypesErrorMultipleAliases.txt +36 -0
  331. package/test/corpus/snippetTests/classes/unionTypesErrorNested.txt +99 -0
  332. package/test/corpus/snippetTests/classes/unionTypesErrorSimple.txt +42 -0
  333. package/test/corpus/snippetTests/classes/unionTypesErrorString1.txt +43 -0
  334. package/test/corpus/snippetTests/classes/unionTypesErrorString2.txt +85 -0
  335. package/test/corpus/snippetTests/classes/wrongType1.txt +34 -0
  336. package/test/corpus/snippetTests/classes/wrongType2.txt +47 -0
  337. package/test/corpus/snippetTests/classes/wrongType3.txt +71 -0
  338. package/test/corpus/snippetTests/classes/wrongType4.txt +77 -0
  339. package/test/corpus/snippetTests/classes/wrongType6.txt +43 -0
  340. package/test/corpus/snippetTests/errors/abstractOpenMember.txt +13 -0
  341. package/test/corpus/snippetTests/errors/analyzeImportsCannotFindModule.txt +41 -0
  342. package/test/corpus/snippetTests/errors/analyzeImportsInvalidGlob.txt +41 -0
  343. package/test/corpus/snippetTests/errors/analyzeInvalidHttpModule.txt +26 -0
  344. package/test/corpus/snippetTests/errors/analyzeInvalidModuleUri.txt +26 -0
  345. package/test/corpus/snippetTests/errors/analyzeRelativeModuleUri.txt +26 -0
  346. package/test/corpus/snippetTests/errors/anyConverterError.txt +56 -0
  347. package/test/corpus/snippetTests/errors/baseModule.txt +24 -0
  348. package/test/corpus/snippetTests/errors/cannotAmendFixedProperty1.txt +62 -0
  349. package/test/corpus/snippetTests/errors/cannotAmendFixedProperty2.txt +24 -0
  350. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty1.txt +45 -0
  351. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty2.txt +19 -0
  352. package/test/corpus/snippetTests/errors/cannotAssignFixedProperty3.txt +31 -0
  353. package/test/corpus/snippetTests/errors/cannotAssignToNothing.txt +15 -0
  354. package/test/corpus/snippetTests/errors/cannotChangeFixed1.txt +35 -0
  355. package/test/corpus/snippetTests/errors/cannotChangeFixed2.txt +35 -0
  356. package/test/corpus/snippetTests/errors/cannotFindMapKey.txt +39 -0
  357. package/test/corpus/snippetTests/errors/cannotFindStdLibModule.txt +20 -0
  358. package/test/corpus/snippetTests/errors/cannotInferParent2.txt +14 -0
  359. package/test/corpus/snippetTests/errors/cannotInferParent3.txt +48 -0
  360. package/test/corpus/snippetTests/errors/cannotInstantiateAbstractModule.txt +21 -0
  361. package/test/corpus/snippetTests/errors/cannotRenderMixin.txt +41 -0
  362. package/test/corpus/snippetTests/errors/classExtendsSelf.txt +27 -0
  363. package/test/corpus/snippetTests/errors/constraintDetails1.txt +80 -0
  364. package/test/corpus/snippetTests/errors/constraintDetails2.txt +77 -0
  365. package/test/corpus/snippetTests/errors/constraintDetails3.txt +87 -0
  366. package/test/corpus/snippetTests/errors/duplicateTypeParameter.txt +22 -0
  367. package/test/corpus/snippetTests/errors/extendExternalClass.txt +12 -0
  368. package/test/corpus/snippetTests/errors/extendTypeAlias.txt +33 -0
  369. package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateMethods.txt +30 -0
  370. package/test/corpus/snippetTests/errors/forGeneratorCannotGenerateProperties.txt +28 -0
  371. package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverThisValue.txt +21 -0
  372. package/test/corpus/snippetTests/errors/forGeneratorCannotIterateOverTyped.txt +27 -0
  373. package/test/corpus/snippetTests/errors/forGeneratorDuplicateParams1.txt +38 -0
  374. package/test/corpus/snippetTests/errors/fullStackTraces.txt +64 -0
  375. package/test/corpus/snippetTests/errors/fullStackTraces2.txt +56 -0
  376. package/test/corpus/snippetTests/errors/functionNotFoundInClass.txt +35 -0
  377. package/test/corpus/snippetTests/errors/functionNotFoundInModule.txt +25 -0
  378. package/test/corpus/snippetTests/errors/functionNotFoundInScope.txt +38 -0
  379. package/test/corpus/snippetTests/errors/functionNotFoundMaybeLambda.txt +24 -0
  380. package/test/corpus/snippetTests/errors/functionNotFoundMaybeProperty.txt +18 -0
  381. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias1.txt +16 -0
  382. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias2.txt +16 -0
  383. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias3.txt +15 -0
  384. package/test/corpus/snippetTests/errors/intrinsifiedTypeAlias4.txt +15 -0
  385. package/test/corpus/snippetTests/errors/invalidClassMethodModifier.txt +29 -0
  386. package/test/corpus/snippetTests/errors/invalidClassModifier.txt +11 -0
  387. package/test/corpus/snippetTests/errors/invalidClassModifier2.txt +12 -0
  388. package/test/corpus/snippetTests/errors/invalidClassPropertyModifier.txt +31 -0
  389. package/test/corpus/snippetTests/errors/invalidGlobImport1.txt +19 -0
  390. package/test/corpus/snippetTests/errors/invalidGlobImport4.txt +19 -0
  391. package/test/corpus/snippetTests/errors/invalidGlobImport5.txt +20 -0
  392. package/test/corpus/snippetTests/errors/invalidGlobImport6.txt +14 -0
  393. package/test/corpus/snippetTests/errors/invalidGlobImport7.txt +21 -0
  394. package/test/corpus/snippetTests/errors/invalidGlobImport8.txt +22 -0
  395. package/test/corpus/snippetTests/errors/invalidGlobRead1.txt +14 -0
  396. package/test/corpus/snippetTests/errors/invalidGlobRead2.txt +14 -0
  397. package/test/corpus/snippetTests/errors/invalidGlobRead3.txt +14 -0
  398. package/test/corpus/snippetTests/errors/invalidImportBackslashSep.txt +14 -0
  399. package/test/corpus/snippetTests/errors/invalidImportUri.txt +19 -0
  400. package/test/corpus/snippetTests/errors/invalidMethodModifier.txt +14 -0
  401. package/test/corpus/snippetTests/errors/invalidModuleModifier.txt +20 -0
  402. package/test/corpus/snippetTests/errors/invalidObjectPropertyModifier.txt +17 -0
  403. package/test/corpus/snippetTests/errors/invalidOutput1.txt +17 -0
  404. package/test/corpus/snippetTests/errors/invalidOutput2.txt +22 -0
  405. package/test/corpus/snippetTests/errors/invalidOutput3.txt +12 -0
  406. package/test/corpus/snippetTests/errors/invalidPropertyModifier.txt +16 -0
  407. package/test/corpus/snippetTests/errors/invalidTripleDotSyntax1.txt +11 -0
  408. package/test/corpus/snippetTests/errors/invalidTripleDotSyntax2.txt +11 -0
  409. package/test/corpus/snippetTests/errors/invalidTypeAliasModifier.txt +14 -0
  410. package/test/corpus/snippetTests/errors/invalidTypeName1.txt +24 -0
  411. package/test/corpus/snippetTests/errors/invalidTypeName2.txt +31 -0
  412. package/test/corpus/snippetTests/errors/invalidTypeName3.txt +19 -0
  413. package/test/corpus/snippetTests/errors/invalidTypeName4.txt +24 -0
  414. package/test/corpus/snippetTests/errors/letExpressionError1.txt +24 -0
  415. package/test/corpus/snippetTests/errors/letExpressionError2.txt +27 -0
  416. package/test/corpus/snippetTests/errors/letExpressionErrorTyped.txt +27 -0
  417. package/test/corpus/snippetTests/errors/listingTypeCheckError1.txt +24 -0
  418. package/test/corpus/snippetTests/errors/listingTypeCheckError2.txt +30 -0
  419. package/test/corpus/snippetTests/errors/listingTypeCheckError3.txt +36 -0
  420. package/test/corpus/snippetTests/errors/listingTypeCheckError4.txt +43 -0
  421. package/test/corpus/snippetTests/errors/listingTypeCheckError5.txt +40 -0
  422. package/test/corpus/snippetTests/errors/listingTypeCheckError6.txt +58 -0
  423. package/test/corpus/snippetTests/errors/listingTypeCheckError7.txt +42 -0
  424. package/test/corpus/snippetTests/errors/listingTypeCheckError8.txt +84 -0
  425. package/test/corpus/snippetTests/errors/listingTypeCheckError9.txt +97 -0
  426. package/test/corpus/snippetTests/errors/localFixedMember.txt +19 -0
  427. package/test/corpus/snippetTests/errors/localFunctionWithTypeParameter.txt +18 -0
  428. package/test/corpus/snippetTests/errors/localHiddenMember.txt +17 -0
  429. package/test/corpus/snippetTests/errors/mappingTypeCheckError1.txt +29 -0
  430. package/test/corpus/snippetTests/errors/mappingTypeCheckError10.txt +49 -0
  431. package/test/corpus/snippetTests/errors/mappingTypeCheckError11.txt +106 -0
  432. package/test/corpus/snippetTests/errors/mappingTypeCheckError2.txt +30 -0
  433. package/test/corpus/snippetTests/errors/mappingTypeCheckError3.txt +30 -0
  434. package/test/corpus/snippetTests/errors/mappingTypeCheckError4.txt +36 -0
  435. package/test/corpus/snippetTests/errors/mappingTypeCheckError5.txt +41 -0
  436. package/test/corpus/snippetTests/errors/mappingTypeCheckError6.txt +75 -0
  437. package/test/corpus/snippetTests/errors/mappingTypeCheckError7.txt +45 -0
  438. package/test/corpus/snippetTests/errors/mappingTypeCheckError8.txt +33 -0
  439. package/test/corpus/snippetTests/errors/mappingTypeCheckError9.txt +69 -0
  440. package/test/corpus/snippetTests/errors/missingLocalPropertyValue1.txt +15 -0
  441. package/test/corpus/snippetTests/errors/missingLocalPropertyValue2.txt +22 -0
  442. package/test/corpus/snippetTests/errors/moduleAmendsSelf.txt +13 -0
  443. package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck.txt +13 -0
  444. package/test/corpus/snippetTests/errors/moduleAmendsVersionCheck2.txt +22 -0
  445. package/test/corpus/snippetTests/errors/moduleExpected.txt +43 -0
  446. package/test/corpus/snippetTests/errors/moduleExtendsSelf.txt +20 -0
  447. package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck.txt +13 -0
  448. package/test/corpus/snippetTests/errors/moduleExtendsVersionCheck2.txt +22 -0
  449. package/test/corpus/snippetTests/errors/moduleImportVersionCheck.txt +20 -0
  450. package/test/corpus/snippetTests/errors/moduleWithHighMinPklVersion.txt +29 -0
  451. package/test/corpus/snippetTests/errors/noDefault.txt +23 -0
  452. package/test/corpus/snippetTests/errors/noDefault2.txt +31 -0
  453. package/test/corpus/snippetTests/errors/objectCannotHaveElement.txt +72 -0
  454. package/test/corpus/snippetTests/errors/objectCannotHaveElement2.txt +98 -0
  455. package/test/corpus/snippetTests/errors/objectCannotHavePredicateMember.txt +25 -0
  456. package/test/corpus/snippetTests/errors/outOfRange1.txt +14 -0
  457. package/test/corpus/snippetTests/errors/outOfRange2.txt +17 -0
  458. package/test/corpus/snippetTests/errors/outOfRange3.txt +21 -0
  459. package/test/corpus/snippetTests/errors/propertyNotFound1.txt +32 -0
  460. package/test/corpus/snippetTests/errors/propertyNotFound2.txt +18 -0
  461. package/test/corpus/snippetTests/errors/refusingToLoadModule.txt +18 -0
  462. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveElement.txt +38 -0
  463. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveEntry.txt +34 -0
  464. package/test/corpus/snippetTests/errors/spreadSyntaxCannotHaveProperty.txt +34 -0
  465. package/test/corpus/snippetTests/errors/spreadSyntaxCannotIterateOverTyped.txt +44 -0
  466. package/test/corpus/snippetTests/errors/spreadSyntaxCannotSpreadListIntoMapping.txt +37 -0
  467. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry1.txt +39 -0
  468. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateEntry2.txt +39 -0
  469. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty1.txt +32 -0
  470. package/test/corpus/snippetTests/errors/spreadSyntaxDuplicateProperty2.txt +32 -0
  471. package/test/corpus/snippetTests/errors/spreadSyntaxNullValue.txt +20 -0
  472. package/test/corpus/snippetTests/errors/spreadSyntaxUnknownTypedProperty.txt +47 -0
  473. package/test/corpus/snippetTests/errors/stackTraceWithQuotedMemberName.txt +23 -0
  474. package/test/corpus/snippetTests/errors/supercalls.txt +18 -0
  475. package/test/corpus/snippetTests/errors/typeMismatchHelper.txt +19 -0
  476. package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedClassName.txt +38 -0
  477. package/test/corpus/snippetTests/errors/typeMismatchWithSameQualifiedModuleName.txt +28 -0
  478. package/test/corpus/snippetTests/errors/undefinedOp1.txt +12 -0
  479. package/test/corpus/snippetTests/errors/undefinedOp2.txt +14 -0
  480. package/test/corpus/snippetTests/errors/undefinedOp3.txt +24 -0
  481. package/test/corpus/snippetTests/errors/undefinedProperty1.txt +28 -0
  482. package/test/corpus/snippetTests/errors/undefinedProperty2.txt +15 -0
  483. package/test/corpus/snippetTests/errors/undefinedProperty3.txt +95 -0
  484. package/test/corpus/snippetTests/errors/undefinedProperty4.txt +141 -0
  485. package/test/corpus/snippetTests/errors/undefinedProperty5.txt +160 -0
  486. package/test/corpus/snippetTests/errors/undefinedProperty6.txt +40 -0
  487. package/test/corpus/snippetTests/errors/undefinedProperty7.txt +35 -0
  488. package/test/corpus/snippetTests/errors/undefinedProperty8.txt +34 -0
  489. package/test/corpus/snippetTests/errors/underscoreLambda.txt +37 -0
  490. package/test/corpus/snippetTests/errors/underscoreLet.txt +17 -0
  491. package/test/corpus/snippetTests/errors/userDefinedTypeParameter1.txt +22 -0
  492. package/test/corpus/snippetTests/errors/userDefinedTypeParameter2.txt +32 -0
  493. package/test/corpus/snippetTests/errors/wrongForGeneratorType1.txt +35 -0
  494. package/test/corpus/snippetTests/errors/wrongForGeneratorType2.txt +37 -0
  495. package/test/corpus/snippetTests/errors/wrongNumberOfMapArguments.txt +16 -0
  496. package/test/corpus/snippetTests/generators/duplicateDefinition1.txt +23 -0
  497. package/test/corpus/snippetTests/generators/duplicateDefinition2.txt +30 -0
  498. package/test/corpus/snippetTests/generators/duplicateDefinition3.txt +26 -0
  499. package/test/corpus/snippetTests/generators/elementGenerators.txt +2628 -0
  500. package/test/corpus/snippetTests/generators/elementGeneratorsTyped.txt +1593 -0
  501. package/test/corpus/snippetTests/generators/entryGenerators.txt +3013 -0
  502. package/test/corpus/snippetTests/generators/entryGeneratorsTyped.txt +1858 -0
  503. package/test/corpus/snippetTests/generators/forGeneratorInMixins.txt +301 -0
  504. package/test/corpus/snippetTests/generators/forGeneratorLexicalScope.txt +199 -0
  505. package/test/corpus/snippetTests/generators/forGeneratorNestedReference.txt +277 -0
  506. package/test/corpus/snippetTests/generators/forGeneratorNestedReference2.txt +98 -0
  507. package/test/corpus/snippetTests/generators/forGeneratorVariableShadowing.txt +177 -0
  508. package/test/corpus/snippetTests/generators/generatorNoMembers.txt +157 -0
  509. package/test/corpus/snippetTests/generators/predicateMembersDynamicListing.txt +461 -0
  510. package/test/corpus/snippetTests/generators/predicateMembersDynamicMapping.txt +473 -0
  511. package/test/corpus/snippetTests/generators/predicateMembersListing.txt +463 -0
  512. package/test/corpus/snippetTests/generators/predicateMembersMapping.txt +474 -0
  513. package/test/corpus/snippetTests/generators/predicateMembersThis.txt +82 -0
  514. package/test/corpus/snippetTests/generators/propertyGenerators.txt +104 -0
  515. package/test/corpus/snippetTests/generators/spreadSyntaxDynamic.txt +411 -0
  516. package/test/corpus/snippetTests/generators/spreadSyntaxListing.txt +496 -0
  517. package/test/corpus/snippetTests/generators/spreadSyntaxMapping.txt +655 -0
  518. package/test/corpus/snippetTests/generators/spreadSyntaxNoSpace.txt +32 -0
  519. package/test/corpus/snippetTests/generators/spreadSyntaxNullable.txt +37 -0
  520. package/test/corpus/snippetTests/generators/spreadSyntaxTyped.txt +59 -0
  521. package/test/corpus/snippetTests/implementation/equality.txt +198 -0
  522. package/test/corpus/snippetTests/implementation/inequality.txt +198 -0
  523. package/test/corpus/snippetTests/internal/polymorphicCallSite.txt +499 -0
  524. package/test/corpus/snippetTests/lambdas/amendLambdaDef.txt +310 -0
  525. package/test/corpus/snippetTests/lambdas/amendLambdaExpr.txt +325 -0
  526. package/test/corpus/snippetTests/lambdas/amendLambdaExternalClassError.txt +45 -0
  527. package/test/corpus/snippetTests/lambdas/amendLambdaParameters.txt +155 -0
  528. package/test/corpus/snippetTests/lambdas/amendLambdaParametersTyped.txt +420 -0
  529. package/test/corpus/snippetTests/lambdas/amendLambdaThatReturnsAnotherLambda.txt +380 -0
  530. package/test/corpus/snippetTests/lambdas/amendLambdaTooFewArgsError.txt +60 -0
  531. package/test/corpus/snippetTests/lambdas/amendLambdaTooManyArgsError.txt +62 -0
  532. package/test/corpus/snippetTests/lambdas/equality.txt +62 -0
  533. package/test/corpus/snippetTests/lambdas/inequality.txt +62 -0
  534. package/test/corpus/snippetTests/lambdas/lambda1.txt +85 -0
  535. package/test/corpus/snippetTests/lambdas/lambda2.txt +78 -0
  536. package/test/corpus/snippetTests/lambdas/lambda3.txt +381 -0
  537. package/test/corpus/snippetTests/lambdas/lambda4.txt +147 -0
  538. package/test/corpus/snippetTests/lambdas/lambda5.txt +307 -0
  539. package/test/corpus/snippetTests/lambdas/lambdaStackTrace1.txt +35 -0
  540. package/test/corpus/snippetTests/lambdas/lambdaStackTrace2.txt +37 -0
  541. package/test/corpus/snippetTests/lambdas/lambdaStackTrace3.txt +33 -0
  542. package/test/corpus/snippetTests/lambdas/pipeOperator.txt +189 -0
  543. package/test/corpus/snippetTests/lambdas/tooManyLambdaParams.txt +27 -0
  544. package/test/corpus/snippetTests/lambdas/typedLambdas.txt +278 -0
  545. package/test/corpus/snippetTests/lambdas/wrongArgumentListLength.txt +37 -0
  546. package/test/corpus/snippetTests/listings/cacheStealing.txt +56 -0
  547. package/test/corpus/snippetTests/listings/cacheStealingTypeCheck.txt +27 -0
  548. package/test/corpus/snippetTests/listings/default.txt +133 -0
  549. package/test/corpus/snippetTests/listings/equality.txt +341 -0
  550. package/test/corpus/snippetTests/listings/hashCode.txt +438 -0
  551. package/test/corpus/snippetTests/listings/inequality.txt +173 -0
  552. package/test/corpus/snippetTests/listings/listing1.txt +360 -0
  553. package/test/corpus/snippetTests/listings/listing2.txt +755 -0
  554. package/test/corpus/snippetTests/listings/listing3.txt +490 -0
  555. package/test/corpus/snippetTests/listings/listing4.txt +156 -0
  556. package/test/corpus/snippetTests/listings/listing6.txt +208 -0
  557. package/test/corpus/snippetTests/listings/listing7.txt +71 -0
  558. package/test/corpus/snippetTests/listings/typeCheck.txt +2506 -0
  559. package/test/corpus/snippetTests/listings/wrongIndex.txt +121 -0
  560. package/test/corpus/snippetTests/listings/wrongParent.txt +253 -0
  561. package/test/corpus/snippetTests/listings2/default.txt +157 -0
  562. package/test/corpus/snippetTests/listings2/equality.txt +358 -0
  563. package/test/corpus/snippetTests/listings2/inequality.txt +227 -0
  564. package/test/corpus/snippetTests/listings2/listing1.txt +372 -0
  565. package/test/corpus/snippetTests/listings2/listing2.txt +904 -0
  566. package/test/corpus/snippetTests/listings2/listing3.txt +568 -0
  567. package/test/corpus/snippetTests/listings2/typeCheck.txt +336 -0
  568. package/test/corpus/snippetTests/listings2/wrongIndex.txt +151 -0
  569. package/test/corpus/snippetTests/listings2/wrongParent.txt +313 -0
  570. package/test/corpus/snippetTests/mappings/default.txt +174 -0
  571. package/test/corpus/snippetTests/mappings/duplicateComputedKey.txt +85 -0
  572. package/test/corpus/snippetTests/mappings/duplicateConstantKey.txt +32 -0
  573. package/test/corpus/snippetTests/mappings/equality.txt +383 -0
  574. package/test/corpus/snippetTests/mappings/hashCode.txt +461 -0
  575. package/test/corpus/snippetTests/mappings/inequality.txt +198 -0
  576. package/test/corpus/snippetTests/mappings/mapping1.txt +590 -0
  577. package/test/corpus/snippetTests/mappings/mapping2.txt +491 -0
  578. package/test/corpus/snippetTests/mappings/stringKeyNotFound.txt +50 -0
  579. package/test/corpus/snippetTests/mappings/typeCheck.txt +2877 -0
  580. package/test/corpus/snippetTests/mappings/wrongParent.txt +262 -0
  581. package/test/corpus/snippetTests/mappings2/default.txt +195 -0
  582. package/test/corpus/snippetTests/mappings2/duplicateComputedKey.txt +99 -0
  583. package/test/corpus/snippetTests/mappings2/duplicateConstantKey.txt +39 -0
  584. package/test/corpus/snippetTests/mappings2/equality.txt +416 -0
  585. package/test/corpus/snippetTests/mappings2/inequality.txt +268 -0
  586. package/test/corpus/snippetTests/mappings2/mapping1.txt +604 -0
  587. package/test/corpus/snippetTests/mappings2/mapping2.txt +595 -0
  588. package/test/corpus/snippetTests/mappings2/stringKeyNotFound.txt +57 -0
  589. package/test/corpus/snippetTests/mappings2/typeCheck.txt +582 -0
  590. package/test/corpus/snippetTests/mappings2/wrongParent.txt +334 -0
  591. package/test/corpus/snippetTests/methods/methodParameterConstraints1.txt +220 -0
  592. package/test/corpus/snippetTests/methods/methodParameterConstraints2.txt +382 -0
  593. package/test/corpus/snippetTests/methods/methodParameterTypes2.txt +734 -0
  594. package/test/corpus/snippetTests/methods/methodParameterTypes3.txt +196 -0
  595. package/test/corpus/snippetTests/modules/amendModule1.txt +36 -0
  596. package/test/corpus/snippetTests/modules/amendModule2.txt +28 -0
  597. package/test/corpus/snippetTests/modules/amendModule3.txt +24 -0
  598. package/test/corpus/snippetTests/modules/amendModule4.txt +35 -0
  599. package/test/corpus/snippetTests/modules/amendModule5.txt +68 -0
  600. package/test/corpus/snippetTests/modules/amendModule6.txt +13 -0
  601. package/test/corpus/snippetTests/modules/equality.txt +91 -0
  602. package/test/corpus/snippetTests/modules/extendModule1.txt +80 -0
  603. package/test/corpus/snippetTests/modules/externalFunction.txt +14 -0
  604. package/test/corpus/snippetTests/modules/externalProperty.txt +16 -0
  605. package/test/corpus/snippetTests/modules/filename with spaces 2.txt +14 -0
  606. package/test/corpus/snippetTests/modules/filename with spaces.txt +13 -0
  607. package/test/corpus/snippetTests/modules/functions.txt +264 -0
  608. package/test/corpus/snippetTests/modules/invalidAmend1.txt +18 -0
  609. package/test/corpus/snippetTests/modules/invalidAmend2.txt +19 -0
  610. package/test/corpus/snippetTests/modules/invalidAmend3.txt +23 -0
  611. package/test/corpus/snippetTests/modules/invalidAmend4.txt +21 -0
  612. package/test/corpus/snippetTests/modules/invalidAmend5.txt +17 -0
  613. package/test/corpus/snippetTests/modules/invalidAmend6.txt +22 -0
  614. package/test/corpus/snippetTests/modules/invalidExtend1.txt +18 -0
  615. package/test/corpus/snippetTests/modules/invalidExtend2.txt +13 -0
  616. package/test/corpus/snippetTests/modules/invalidExtend3.txt +13 -0
  617. package/test/corpus/snippetTests/modules/library.txt +77 -0
  618. package/test/corpus/snippetTests/modules/lists.txt +26 -0
  619. package/test/corpus/snippetTests/modules/objects.txt +22 -0
  620. package/test/corpus/snippetTests/modules/recursiveModule1.txt +51 -0
  621. package/test/corpus/snippetTests/modules/recursiveModule2.txt +26 -0
  622. package/test/corpus/snippetTests/modules/supercalls1.txt +43 -0
  623. package/test/corpus/snippetTests/modules/supercalls2.txt +76 -0
  624. package/test/corpus/snippetTests/modules/supercalls3.txt +142 -0
  625. package/test/corpus/snippetTests/modules/typedModuleMethods1.txt +229 -0
  626. package/test/corpus/snippetTests/modules/typedModuleProperties1.txt +106 -0
  627. package/test/corpus/snippetTests/modules/typedModuleProperties2.txt +16 -0
  628. package/test/corpus/snippetTests/modules/typedModuleProperties3.txt +20 -0
  629. package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236.txt +45 -0
  630. package/test/corpus/snippetTests/modules//346/227/245/346/234/254/350/252/236_error.txt +14 -0
  631. package/test/corpus/snippetTests/objects/closure.txt +143 -0
  632. package/test/corpus/snippetTests/objects/configureObjectAssign.txt +78 -0
  633. package/test/corpus/snippetTests/objects/equality.txt +989 -0
  634. package/test/corpus/snippetTests/objects/hashCode.txt +566 -0
  635. package/test/corpus/snippetTests/objects/implicitReceiver1.txt +37 -0
  636. package/test/corpus/snippetTests/objects/implicitReceiver2.txt +33 -0
  637. package/test/corpus/snippetTests/objects/implicitReceiver3.txt +29 -0
  638. package/test/corpus/snippetTests/objects/implicitReceiver4.txt +25 -0
  639. package/test/corpus/snippetTests/objects/inequality.txt +777 -0
  640. package/test/corpus/snippetTests/objects/lateBinding1.txt +60 -0
  641. package/test/corpus/snippetTests/objects/lateBinding2.txt +60 -0
  642. package/test/corpus/snippetTests/objects/lateBinding3.txt +81 -0
  643. package/test/corpus/snippetTests/objects/lateBinding4.txt +77 -0
  644. package/test/corpus/snippetTests/objects/outer.txt +91 -0
  645. package/test/corpus/snippetTests/objects/outer2.txt +28 -0
  646. package/test/corpus/snippetTests/objects/super1.txt +67 -0
  647. package/test/corpus/snippetTests/objects/super2.txt +59 -0
  648. package/test/corpus/snippetTests/objects/super3.txt +59 -0
  649. package/test/corpus/snippetTests/objects/super4.txt +66 -0
  650. package/test/corpus/snippetTests/objects/super5.txt +69 -0
  651. package/test/corpus/snippetTests/objects/this1.txt +24 -0
  652. package/test/corpus/snippetTests/objects/this2.txt +71 -0
  653. package/test/corpus/snippetTests/packages/badImport1.error.txt +14 -0
  654. package/test/corpus/snippetTests/packages/badImport10.error.txt +14 -0
  655. package/test/corpus/snippetTests/packages/badImport11.error.txt +14 -0
  656. package/test/corpus/snippetTests/packages/badImport2.error.txt +14 -0
  657. package/test/corpus/snippetTests/packages/badImport3.error.txt +14 -0
  658. package/test/corpus/snippetTests/packages/badImport4.error.txt +14 -0
  659. package/test/corpus/snippetTests/packages/badImport6.error.txt +20 -0
  660. package/test/corpus/snippetTests/packages/badImport7.error.txt +14 -0
  661. package/test/corpus/snippetTests/packages/badImport8.error.txt +14 -0
  662. package/test/corpus/snippetTests/packages/badImport9.error.txt +14 -0
  663. package/test/corpus/snippetTests/packages/badRead1.error.txt +14 -0
  664. package/test/corpus/snippetTests/packages/badRead2.error.txt +14 -0
  665. package/test/corpus/snippetTests/packages/badRead3.error.txt +14 -0
  666. package/test/corpus/snippetTests/packages/badRead4.error.txt +14 -0
  667. package/test/corpus/snippetTests/packages/badRead8.error.txt +14 -0
  668. package/test/corpus/snippetTests/packages/badRead9.error.txt +14 -0
  669. package/test/corpus/snippetTests/packages/packages1.txt +103 -0
  670. package/test/corpus/snippetTests/packages/packages2.txt +104 -0
  671. package/test/corpus/snippetTests/packages/redirects.txt +54 -0
  672. package/test/corpus/snippetTests/types/ThisInTypeConstraint.txt +342 -0
  673. package/test/corpus/snippetTests/types/currentModuleType1.txt +343 -0
  674. package/test/corpus/snippetTests/types/currentModuleType2.txt +351 -0
  675. package/test/corpus/snippetTests/types/currentModuleType3.txt +18 -0
  676. package/test/corpus/snippetTests/types/cyclicTypeAlias1.txt +17 -0
  677. package/test/corpus/snippetTests/types/cyclicTypeAlias2.txt +42 -0
  678. package/test/corpus/snippetTests/types/modifiersForTypes.txt +68 -0
  679. package/test/corpus/snippetTests/types/moduleType.txt +58 -0
  680. package/test/corpus/snippetTests/types/nothingType.txt +29 -0
  681. package/test/corpus/snippetTests/types/nothingWithUnions.txt +31 -0
  682. package/test/corpus/snippetTests/types/typeAlias1.txt +925 -0
  683. package/test/corpus/snippetTests/types/typeAlias2.txt +361 -0
  684. package/test/corpus/snippetTests/types/typeAliasConstraint1.txt +79 -0
  685. package/test/corpus/snippetTests/types/typeAliasConstraint2.txt +77 -0
  686. package/test/corpus/snippetTests/types/typeAliasContext.txt +26 -0
  687. package/test/corpus/snippetTests/types/typeAliasUnion.txt +169 -0
  688. package/test/corpus/string/customStringDelimiters.txt +74 -74
  689. package/test/corpus/string/multiline.txt +4 -4
  690. package/test/corpus/string/multilineInterpolation.txt +21 -21
  691. package/test/corpus/string/multilineInterpolation2.txt +15 -0
  692. package/test/corpus/string/simple.txt +1 -1
  693. package/test/corpus/string/singleLineEscapes.txt +7 -7
  694. package/test/corpus/string/singleLineInterpolation.txt +28 -28
  695. package/test/corpus/string/stringWithTwoSlashes.txt +2 -2
  696. package/test/corpus/type/unionType.txt +34 -0
  697. package/test/corpus/type/unionTypeDefaults.txt +46 -0
  698. package/tree-sitter.json +44 -0
  699. package/test/corpus/string/missingDelimiter.txt +0 -28
package/.editorconfig ADDED
@@ -0,0 +1,46 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+
6
+ [*.{json,toml,yml,gyp}]
7
+ indent_style = space
8
+ indent_size = 2
9
+
10
+ [*.js]
11
+ indent_style = space
12
+ indent_size = 2
13
+
14
+ [*.scm]
15
+ indent_style = space
16
+ indent_size = 2
17
+
18
+ [*.{c,cc,h}]
19
+ indent_style = space
20
+ indent_size = 4
21
+
22
+ [*.rs]
23
+ indent_style = space
24
+ indent_size = 4
25
+
26
+ [*.{py,pyi}]
27
+ indent_style = space
28
+ indent_size = 4
29
+
30
+ [*.swift]
31
+ indent_style = space
32
+ indent_size = 4
33
+
34
+ [*.go]
35
+ indent_style = tab
36
+ indent_size = 8
37
+
38
+ [Makefile]
39
+ indent_style = tab
40
+ indent_size = 8
41
+
42
+ [parser.c]
43
+ indent_size = 2
44
+
45
+ [{alloc,array,parser}.h]
46
+ indent_size = 2
package/.gitattributes ADDED
@@ -0,0 +1,50 @@
1
+ * text=auto eol=lf
2
+
3
+ # Generated source files
4
+ src/*.json linguist-generated
5
+ src/parser.c linguist-generated
6
+ src/tree_sitter/* linguist-generated
7
+
8
+ # C bindings
9
+ bindings/c/** linguist-generated
10
+ CMakeLists.txt linguist-generated
11
+ Makefile linguist-generated
12
+
13
+ # Rust bindings
14
+ bindings/rust/* linguist-generated
15
+ Cargo.toml linguist-generated
16
+ Cargo.lock linguist-generated
17
+
18
+ # Node.js bindings
19
+ bindings/node/* linguist-generated
20
+ binding.gyp linguist-generated
21
+ package.json linguist-generated
22
+ package-lock.json linguist-generated
23
+
24
+ # Python bindings
25
+ bindings/python/** linguist-generated
26
+ setup.py linguist-generated
27
+ pyproject.toml linguist-generated
28
+
29
+ # Go bindings
30
+ bindings/go/* linguist-generated
31
+ go.mod linguist-generated
32
+ go.sum linguist-generated
33
+
34
+ # Swift bindings
35
+ bindings/swift/** linguist-generated
36
+ Package.swift linguist-generated
37
+ Package.resolved linguist-generated
38
+
39
+ # Zig bindings
40
+ build.zig linguist-generated
41
+ build.zig.zon linguist-generated
42
+
43
+ # Linux start script should use lf
44
+ internal/gradlew text eol=lf
45
+
46
+ # These are Windows script files and should use crlf
47
+ *.bat text eol=crlf
48
+
49
+ # Binary files should be left untouched
50
+ *.jar binary
package/CHANGELOG.adoc CHANGED
@@ -1,5 +1,61 @@
1
1
  = Changelog
2
2
 
3
+ [[release-0.18.1]]
4
+ == 0.18.1 (2025-04-07)
5
+
6
+ === Fixes
7
+
8
+ * Fix an issue where the project fails to be used as a Go library (https://github.com/apple/tree-sitter-pkl/pull/38[#38]).
9
+ * Fix an issue where qualified identifiers are parsed incorrectly in some cases (https://github.com/apple/tree-sitter-pkl/pull/39[#39]).
10
+
11
+ [[release-0.18.0]]
12
+ == 0.18.0 (2025-03-27)
13
+
14
+ This is a large change.
15
+ It changes the parse tree to match other Pkl parsers, and also fixes all known parser issues.
16
+
17
+ === Additions
18
+
19
+ * Add support for Go bindings (https://github.com/apple/tree-sitter-pkl/pull/33[#33])
20
+ * Add support for Python bindings (https://github.com/apple/tree-sitter-pkl/pull/33[#33])
21
+
22
+ === Breaking Changes
23
+
24
+ * Minimum tree-sitter version bumped to 0.25 (https://github.com/apple/tree-sitter-pkl/pull/33[#33])
25
+ * Restructure parse tree to match other grammars (https://github.com/apple/tree-sitter-pkl/pull/32[#32], https://github.com/apple/tree-sitter-pkl/pull/34[#34], https://github.com/apple/tree-sitter-pkl/pull/36[#36])
26
+ ** Remove `variableExpr`, `propertyCallExpr`, `methodCallExpr`, `objectLiteral`, `variableObjectLiteral`
27
+ ** Introduce `unqualifiedAccessExpr`, `qualifiedAccessExpr`
28
+ ** Introduce `amendExpr`
29
+ ** Remove `_expr2` workaround
30
+ ** Split `binaryExpr` into separate parts
31
+ ** Merge `readExpr`/`readOrNullExpr`/`readGlobExpr` into `readExpr`
32
+ ** Merge `importExpr`/`importOrNullExpr` into `importExpr`
33
+ ** Rename `isExpr` to `typeTestExpr`
34
+ ** Rename `asExpr` to `typeCastExpr`
35
+ ** Rename `objectPredicate` to `memberPredicate`
36
+ ** Add blank identifiers (all parameters can optionally use `_` as an identifier, can't use anywhere else)
37
+ ** Rename `unionDefaultType` to `defaultUnionType`
38
+ ** Suffix all expressions with `Expr`
39
+ *** `nullLiteral` -> `nullLiteralExpr`
40
+ *** `trueLiteral` -> `trueLiteralExpr`
41
+ *** `falseLiteral` -> `falseLiteralExpr`
42
+ *** `intLiteral` -> `intLiteralExpr`
43
+ *** `floatLiteral` -> `floatLiteralExpr`
44
+ *** `slStringLiteral` -> `slStringLiteralExpr`
45
+ *** `mlStringLiteral` -> `mlStringLiteralExpr`
46
+ *** `functionLiteral` -> `functionLiteralExpr`
47
+ ** Rename `interpolationExpr` to `stringInterpolation`
48
+ ** In `readExpr` and `importExpr`, rename field "keyword" to "variant"
49
+
50
+ === Fixes
51
+
52
+ * Fix parser issues (https://github.com/apple/tree-sitter-pkl/pull/32[#32], https://github.com/apple/tree-sitter-pkl/pull/34[#34])
53
+ ** Fix parsing of unary minus as an object element
54
+ ** Fix precedence issues (e.g. make `.` stronger than `+`)
55
+ ** Fix scanner producing incorrect tokens in some cases
56
+ ** Fix: disallow newline in type constraints between type and first parenthesis
57
+ ** Require parentheses around `trace`, `throw`
58
+
3
59
  [[release-0.17.0]]
4
60
  == 0.17.0 (2024-10-10)
5
61
 
package/CMakeLists.txt ADDED
@@ -0,0 +1,66 @@
1
+ cmake_minimum_required(VERSION 3.13)
2
+
3
+ project(tree-sitter-pkl
4
+ VERSION "0.18.1"
5
+ DESCRIPTION "Parser for Pkl programming language"
6
+ HOMEPAGE_URL "https://github.com/apple/tree-sitter-pkl"
7
+ LANGUAGES C)
8
+
9
+ option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
10
+ option(TREE_SITTER_REUSE_ALLOCATOR "Reuse the library allocator" OFF)
11
+
12
+ set(TREE_SITTER_ABI_VERSION 15 CACHE STRING "Tree-sitter ABI version")
13
+ if(NOT ${TREE_SITTER_ABI_VERSION} MATCHES "^[0-9]+$")
14
+ unset(TREE_SITTER_ABI_VERSION CACHE)
15
+ message(FATAL_ERROR "TREE_SITTER_ABI_VERSION must be an integer")
16
+ endif()
17
+
18
+ find_program(TREE_SITTER_CLI tree-sitter DOC "Tree-sitter CLI")
19
+
20
+ add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/src/parser.c"
21
+ DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/grammar.json"
22
+ COMMAND "${TREE_SITTER_CLI}" generate src/grammar.json
23
+ --abi=${TREE_SITTER_ABI_VERSION}
24
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
25
+ COMMENT "Generating parser.c")
26
+
27
+ add_library(tree-sitter-pkl src/parser.c)
28
+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/scanner.c)
29
+ target_sources(tree-sitter-pkl PRIVATE src/scanner.c)
30
+ endif()
31
+ target_include_directories(tree-sitter-pkl
32
+ PRIVATE src
33
+ INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/bindings/c>
34
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
35
+
36
+ target_compile_definitions(tree-sitter-pkl PRIVATE
37
+ $<$<BOOL:${TREE_SITTER_REUSE_ALLOCATOR}>:TREE_SITTER_REUSE_ALLOCATOR>
38
+ $<$<CONFIG:Debug>:TREE_SITTER_DEBUG>)
39
+
40
+ set_target_properties(tree-sitter-pkl
41
+ PROPERTIES
42
+ C_STANDARD 11
43
+ POSITION_INDEPENDENT_CODE ON
44
+ SOVERSION "${TREE_SITTER_ABI_VERSION}.${PROJECT_VERSION_MAJOR}"
45
+ DEFINE_SYMBOL "")
46
+
47
+ configure_file(bindings/c/tree-sitter-pkl.pc.in
48
+ "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-pkl.pc" @ONLY)
49
+
50
+ include(GNUInstallDirs)
51
+
52
+ install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bindings/c/tree_sitter"
53
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
54
+ FILES_MATCHING PATTERN "*.h")
55
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter-pkl.pc"
56
+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig")
57
+ install(TARGETS tree-sitter-pkl
58
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
59
+
60
+ file(GLOB QUERIES queries/*.scm)
61
+ install(FILES ${QUERIES}
62
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/tree-sitter/queries/pkl")
63
+
64
+ add_custom_target(ts-test "${TREE_SITTER_CLI}" test
65
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
66
+ COMMENT "tree-sitter test")
package/Cargo.lock CHANGED
@@ -1,42 +1,36 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "aho-corasick"
7
- version = "1.1.1"
7
+ version = "1.1.3"
8
8
  source = "registry+https://github.com/rust-lang/crates.io-index"
9
- checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
9
+ checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
10
10
  dependencies = [
11
11
  "memchr",
12
12
  ]
13
13
 
14
14
  [[package]]
15
15
  name = "cc"
16
- version = "1.0.83"
16
+ version = "1.2.14"
17
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
18
+ checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9"
19
19
  dependencies = [
20
- "libc",
20
+ "shlex",
21
21
  ]
22
22
 
23
- [[package]]
24
- name = "libc"
25
- version = "0.2.148"
26
- source = "registry+https://github.com/rust-lang/crates.io-index"
27
- checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
28
-
29
23
  [[package]]
30
24
  name = "memchr"
31
- version = "2.6.3"
25
+ version = "2.7.4"
32
26
  source = "registry+https://github.com/rust-lang/crates.io-index"
33
- checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
27
+ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
34
28
 
35
29
  [[package]]
36
30
  name = "regex"
37
- version = "1.9.5"
31
+ version = "1.11.1"
38
32
  source = "registry+https://github.com/rust-lang/crates.io-index"
39
- checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
33
+ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
40
34
  dependencies = [
41
35
  "aho-corasick",
42
36
  "memchr",
@@ -46,9 +40,9 @@ dependencies = [
46
40
 
47
41
  [[package]]
48
42
  name = "regex-automata"
49
- version = "0.3.8"
43
+ version = "0.4.9"
50
44
  source = "registry+https://github.com/rust-lang/crates.io-index"
51
- checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
45
+ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
52
46
  dependencies = [
53
47
  "aho-corasick",
54
48
  "memchr",
@@ -57,9 +51,15 @@ dependencies = [
57
51
 
58
52
  [[package]]
59
53
  name = "regex-syntax"
60
- version = "0.7.5"
54
+ version = "0.8.5"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
57
+
58
+ [[package]]
59
+ name = "shlex"
60
+ version = "1.3.0"
61
61
  source = "registry+https://github.com/rust-lang/crates.io-index"
62
- checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
62
+ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
63
63
 
64
64
  [[package]]
65
65
  name = "tree-sitter"
@@ -73,7 +73,7 @@ dependencies = [
73
73
 
74
74
  [[package]]
75
75
  name = "tree-sitter-pkl"
76
- version = "0.17.0"
76
+ version = "0.18.1"
77
77
  dependencies = [
78
78
  "cc",
79
79
  "tree-sitter",
package/Cargo.toml CHANGED
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "tree-sitter-pkl"
3
3
  description = "Pkl grammar for the tree-sitter parsing library"
4
- version = "0.17.0"
4
+ version = "0.18.1"
5
5
  keywords = ["incremental", "parsing", "pkl"]
6
6
  categories = ["parsing", "text-editors"]
7
7
  repository = "https://github.com/apple/tree-sitter-pkl"
package/Makefile ADDED
@@ -0,0 +1,97 @@
1
+ ifeq ($(OS),Windows_NT)
2
+ $(error Windows is not supported)
3
+ endif
4
+
5
+ LANGUAGE_NAME := tree-sitter-pkl
6
+ HOMEPAGE_URL := https://github.com/apple/tree-sitter-pkl
7
+ VERSION := 0.18.1
8
+
9
+ # repository
10
+ SRC_DIR := src
11
+
12
+ TS ?= tree-sitter
13
+
14
+ # install directory layout
15
+ PREFIX ?= /usr/local
16
+ DATADIR ?= $(PREFIX)/share
17
+ INCLUDEDIR ?= $(PREFIX)/include
18
+ LIBDIR ?= $(PREFIX)/lib
19
+ PCLIBDIR ?= $(LIBDIR)/pkgconfig
20
+
21
+ # source/object files
22
+ PARSER := $(SRC_DIR)/parser.c
23
+ EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c))
24
+ OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS))
25
+
26
+ # flags
27
+ ARFLAGS ?= rcs
28
+ override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC
29
+
30
+ # ABI versioning
31
+ SONAME_MAJOR = $(shell sed -n 's/\#define LANGUAGE_VERSION //p' $(PARSER))
32
+ SONAME_MINOR = $(word 1,$(subst ., ,$(VERSION)))
33
+
34
+ # OS-specific bits
35
+ ifeq ($(shell uname),Darwin)
36
+ SOEXT = dylib
37
+ SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT)
38
+ SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT)
39
+ LINKSHARED = -dynamiclib -Wl,-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks
40
+ else
41
+ SOEXT = so
42
+ SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR)
43
+ SOEXTVER = $(SOEXT).$(SONAME_MAJOR).$(SONAME_MINOR)
44
+ LINKSHARED = -shared -Wl,-soname,lib$(LANGUAGE_NAME).$(SOEXTVER)
45
+ endif
46
+ ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
47
+ PCLIBDIR := $(PREFIX)/libdata/pkgconfig
48
+ endif
49
+
50
+ all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc
51
+
52
+ lib$(LANGUAGE_NAME).a: $(OBJS)
53
+ $(AR) $(ARFLAGS) $@ $^
54
+
55
+ lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS)
56
+ $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
57
+ ifneq ($(STRIP),)
58
+ $(STRIP) $@
59
+ endif
60
+
61
+ $(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in
62
+ sed -e 's|@PROJECT_VERSION@|$(VERSION)|' \
63
+ -e 's|@CMAKE_INSTALL_LIBDIR@|$(LIBDIR:$(PREFIX)/%=%)|' \
64
+ -e 's|@CMAKE_INSTALL_INCLUDEDIR@|$(INCLUDEDIR:$(PREFIX)/%=%)|' \
65
+ -e 's|@PROJECT_DESCRIPTION@|$(DESCRIPTION)|' \
66
+ -e 's|@PROJECT_HOMEPAGE_URL@|$(HOMEPAGE_URL)|' \
67
+ -e 's|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@
68
+
69
+ $(PARSER): $(SRC_DIR)/grammar.json
70
+ $(TS) generate $^
71
+
72
+ install: all
73
+ install -d '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/pkl '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
74
+ install -m644 bindings/c/tree_sitter/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h
75
+ install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
76
+ install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a
77
+ install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER)
78
+ ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR)
79
+ ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT)
80
+ install -m644 queries/*.scm '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/pkl
81
+
82
+ uninstall:
83
+ $(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \
84
+ '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \
85
+ '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \
86
+ '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \
87
+ '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \
88
+ '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
89
+ $(RM) -r '$(DESTDIR)$(DATADIR)'/tree-sitter/queries/pkl
90
+
91
+ clean:
92
+ $(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT)
93
+
94
+ test:
95
+ $(TS) test
96
+
97
+ .PHONY: all install uninstall clean test
package/README.md CHANGED
@@ -17,6 +17,17 @@ command
17
17
 
18
18
  $ tree-sitter test
19
19
 
20
+ If the grammar has changed, run `tree-sitter test --update` to update the corpus.
21
+
22
+ ## Snippet Tests
23
+
24
+ The tests within [test/corpus/snippetTests](test/corpus/snippetTests) are generated from the core Pkl parser, and are not updated by `tree-sitter test --update`.
25
+
26
+ These tests are generated by running `./gradlew createLanguageSnippetsCorpus`.
27
+ This task grabs all language snippet tests, and renders them into a format that can be processed by tree-sitter.
28
+
29
+ To fix any rendering issues, change [SExprRenderer](buildSrc/src/main/kotlin/SExprRenderer.kt).
30
+
20
31
  # Upgrading tree-sitter
21
32
 
22
33
  Upgrading tree-sitter involves upgrading the NPM package.
@@ -24,19 +35,6 @@ Upgrading tree-sitter involves upgrading the NPM package.
24
35
  1. Run `npm update tree-sitter` to install the newer version of tree-sitter.
25
36
  2. Commit to main, and push.
26
37
 
27
- # Releasing
28
-
29
- 1. Run the build & test to make sure everything is up-to-date and passes (check 0 diff).
30
- 2. Create a `Prepare 1.2.3 release` (with appropriate version number) commit where
31
- - Versions are bumped in `package.json`, `Cargo.toml`
32
- - Lockfiles are updated (`npm install`, `cargo check`)
33
- - You have checked the previous release PR for any changes in process not described in this `README.adoc`; if any
34
- - Adopt the changes accordingly
35
- - Update this description to capture the changed process
36
- 3. Merge into `main` & push
37
- 4. Check that CI release succeeded ([release pipeline](https://app.circleci.com/pipelines/github/apple/tree-sitter-pkl))
38
- 5. Check the publication is reachable, [on NPM](https://www.npmjs.com/package/@apple/tree-sitter-pkl)
39
-
40
38
  # Resources
41
39
  - [Tree-sitter docs](https://tree-sitter.github.io/tree-sitter/)
42
40
  - [Guide to your first Tree-sitter grammar](https://gist.github.com/Aerijo/df27228d70c633e088b0591b8857eeef)
@@ -0,0 +1,10 @@
1
+ prefix=@CMAKE_INSTALL_PREFIX@
2
+ libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
3
+ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
4
+
5
+ Name: tree-sitter-pkl
6
+ Description: @PROJECT_DESCRIPTION@
7
+ URL: @PROJECT_HOMEPAGE_URL@
8
+ Version: @PROJECT_VERSION@
9
+ Libs: -L${libdir} -ltree-sitter-pkl
10
+ Cflags: -I${includedir}
@@ -0,0 +1,16 @@
1
+ #ifndef TREE_SITTER_PKL_H_
2
+ #define TREE_SITTER_PKL_H_
3
+
4
+ typedef struct TSLanguage TSLanguage;
5
+
6
+ #ifdef __cplusplus
7
+ extern "C" {
8
+ #endif
9
+
10
+ const TSLanguage *tree_sitter_pkl(void);
11
+
12
+ #ifdef __cplusplus
13
+ }
14
+ #endif
15
+
16
+ #endif // TREE_SITTER_PKL_H_
@@ -0,0 +1,15 @@
1
+ package tree_sitter_pkl
2
+
3
+ // #cgo CFLAGS: -std=c11 -fPIC
4
+ // #include "../../src/parser.c"
5
+ // #if __has_include("../../src/scanner.c")
6
+ // #include "../../src/scanner.c"
7
+ // #endif
8
+ import "C"
9
+
10
+ import "unsafe"
11
+
12
+ // Get the tree-sitter Language for this grammar.
13
+ func Language() unsafe.Pointer {
14
+ return unsafe.Pointer(C.tree_sitter_pkl())
15
+ }
@@ -0,0 +1,15 @@
1
+ package tree_sitter_pkl_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ tree_sitter "github.com/tree-sitter/go-tree-sitter"
7
+ tree_sitter_pkl "github.com/apple/tree-sitter-pkl/bindings/go"
8
+ )
9
+
10
+ func TestCanLoadGrammar(t *testing.T) {
11
+ language := tree_sitter.NewLanguage(tree_sitter_pkl.Language())
12
+ if language == nil {
13
+ t.Errorf("Error loading Pkl grammar")
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ const assert = require("node:assert");
2
+ const { test } = require("node:test");
3
+
4
+ const Parser = require("tree-sitter");
5
+
6
+ test("can load grammar", () => {
7
+ const parser = new Parser();
8
+ assert.doesNotThrow(() => parser.setLanguage(require(".")));
9
+ });
@@ -0,0 +1,27 @@
1
+ type BaseNode = {
2
+ type: string;
3
+ named: boolean;
4
+ };
5
+
6
+ type ChildNode = {
7
+ multiple: boolean;
8
+ required: boolean;
9
+ types: BaseNode[];
10
+ };
11
+
12
+ type NodeInfo =
13
+ | (BaseNode & {
14
+ subtypes: BaseNode[];
15
+ })
16
+ | (BaseNode & {
17
+ fields: { [name: string]: ChildNode };
18
+ children: ChildNode[];
19
+ });
20
+
21
+ type Language = {
22
+ language: unknown;
23
+ nodeTypeInfo: NodeInfo[];
24
+ };
25
+
26
+ declare const language: Language;
27
+ export = language;
@@ -0,0 +1,12 @@
1
+ from unittest import TestCase
2
+
3
+ import tree_sitter
4
+ import tree_sitter_pkl
5
+
6
+
7
+ class TestLanguage(TestCase):
8
+ def test_can_load_grammar(self):
9
+ try:
10
+ tree_sitter.Language(tree_sitter_pkl.language())
11
+ except Exception:
12
+ self.fail("Error loading Pkl grammar")
@@ -0,0 +1,42 @@
1
+ """Parser for Pkl programming language"""
2
+
3
+ from importlib.resources import files as _files
4
+
5
+ from ._binding import language
6
+
7
+
8
+ def _get_query(name, file):
9
+ query = _files(f"{__package__}.queries") / file
10
+ globals()[name] = query.read_text()
11
+ return globals()[name]
12
+
13
+
14
+ def __getattr__(name):
15
+ # NOTE: uncomment these to include any queries that this grammar contains:
16
+
17
+ # if name == "HIGHLIGHTS_QUERY":
18
+ # return _get_query("HIGHLIGHTS_QUERY", "highlights.scm")
19
+ # if name == "INJECTIONS_QUERY":
20
+ # return _get_query("INJECTIONS_QUERY", "injections.scm")
21
+ # if name == "LOCALS_QUERY":
22
+ # return _get_query("LOCALS_QUERY", "locals.scm")
23
+ # if name == "TAGS_QUERY":
24
+ # return _get_query("TAGS_QUERY", "tags.scm")
25
+
26
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
27
+
28
+
29
+ __all__ = [
30
+ "language",
31
+ # "HIGHLIGHTS_QUERY",
32
+ # "INJECTIONS_QUERY",
33
+ # "LOCALS_QUERY",
34
+ # "TAGS_QUERY",
35
+ ]
36
+
37
+
38
+ def __dir__():
39
+ return sorted(__all__ + [
40
+ "__all__", "__builtins__", "__cached__", "__doc__", "__file__",
41
+ "__loader__", "__name__", "__package__", "__path__", "__spec__",
42
+ ])
@@ -0,0 +1,10 @@
1
+ from typing import Final
2
+
3
+ # NOTE: uncomment these to include any queries that this grammar contains:
4
+
5
+ # HIGHLIGHTS_QUERY: Final[str]
6
+ # INJECTIONS_QUERY: Final[str]
7
+ # LOCALS_QUERY: Final[str]
8
+ # TAGS_QUERY: Final[str]
9
+
10
+ def language() -> object: ...
@@ -0,0 +1,35 @@
1
+ #include <Python.h>
2
+
3
+ typedef struct TSLanguage TSLanguage;
4
+
5
+ TSLanguage *tree_sitter_pkl(void);
6
+
7
+ static PyObject* _binding_language(PyObject *Py_UNUSED(self), PyObject *Py_UNUSED(args)) {
8
+ return PyCapsule_New(tree_sitter_pkl(), "tree_sitter.Language", NULL);
9
+ }
10
+
11
+ static struct PyModuleDef_Slot slots[] = {
12
+ #ifdef Py_GIL_DISABLED
13
+ {Py_mod_gil, Py_MOD_GIL_NOT_USED},
14
+ #endif
15
+ {0, NULL}
16
+ };
17
+
18
+ static PyMethodDef methods[] = {
19
+ {"language", _binding_language, METH_NOARGS,
20
+ "Get the tree-sitter language for this grammar."},
21
+ {NULL, NULL, 0, NULL}
22
+ };
23
+
24
+ static struct PyModuleDef module = {
25
+ .m_base = PyModuleDef_HEAD_INIT,
26
+ .m_name = "_binding",
27
+ .m_doc = NULL,
28
+ .m_size = 0,
29
+ .m_methods = methods,
30
+ .m_slots = slots,
31
+ };
32
+
33
+ PyMODINIT_FUNC PyInit__binding(void) {
34
+ return PyModuleDef_Init(&module);
35
+ }
File without changes