@untangle-code/parser-registry 0.0.0-stage → 0.1.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 (345) hide show
  1. package/LICENSE +661 -0
  2. package/NOTICE +90 -0
  3. package/README.md +352 -2
  4. package/THIRD_PARTY_LICENSES.md +91 -0
  5. package/dist/boundaries/expression.d.ts +10 -0
  6. package/dist/boundaries/expression.d.ts.map +1 -0
  7. package/dist/boundaries/expression.js +95 -0
  8. package/dist/boundaries/expression.js.map +1 -0
  9. package/dist/boundaries/extract.d.ts +12 -0
  10. package/dist/boundaries/extract.d.ts.map +1 -0
  11. package/dist/boundaries/extract.js +259 -0
  12. package/dist/boundaries/extract.js.map +1 -0
  13. package/dist/boundaries/python.d.ts +6 -0
  14. package/dist/boundaries/python.d.ts.map +1 -0
  15. package/dist/boundaries/python.js +154 -0
  16. package/dist/boundaries/python.js.map +1 -0
  17. package/dist/index.d.ts +26 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +19 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/languages/astgrep-backend/adapter.d.ts +101 -0
  22. package/dist/languages/astgrep-backend/adapter.d.ts.map +1 -0
  23. package/dist/languages/astgrep-backend/adapter.js +130 -0
  24. package/dist/languages/astgrep-backend/adapter.js.map +1 -0
  25. package/dist/languages/astgrep-backend/index.d.ts +29 -0
  26. package/dist/languages/astgrep-backend/index.d.ts.map +1 -0
  27. package/dist/languages/astgrep-backend/index.js +28 -0
  28. package/dist/languages/astgrep-backend/index.js.map +1 -0
  29. package/dist/languages/astgrep-backend/lang/bash.d.ts +38 -0
  30. package/dist/languages/astgrep-backend/lang/bash.d.ts.map +1 -0
  31. package/dist/languages/astgrep-backend/lang/bash.js +42 -0
  32. package/dist/languages/astgrep-backend/lang/bash.js.map +1 -0
  33. package/dist/languages/astgrep-backend/lang/c.d.ts +33 -0
  34. package/dist/languages/astgrep-backend/lang/c.d.ts.map +1 -0
  35. package/dist/languages/astgrep-backend/lang/c.js +85 -0
  36. package/dist/languages/astgrep-backend/lang/c.js.map +1 -0
  37. package/dist/languages/astgrep-backend/lang/cpp.d.ts +27 -0
  38. package/dist/languages/astgrep-backend/lang/cpp.d.ts.map +1 -0
  39. package/dist/languages/astgrep-backend/lang/cpp.js +38 -0
  40. package/dist/languages/astgrep-backend/lang/cpp.js.map +1 -0
  41. package/dist/languages/astgrep-backend/lang/csharp.d.ts +24 -0
  42. package/dist/languages/astgrep-backend/lang/csharp.d.ts.map +1 -0
  43. package/dist/languages/astgrep-backend/lang/csharp.js +102 -0
  44. package/dist/languages/astgrep-backend/lang/csharp.js.map +1 -0
  45. package/dist/languages/astgrep-backend/lang/index.d.ts +29 -0
  46. package/dist/languages/astgrep-backend/lang/index.d.ts.map +1 -0
  47. package/dist/languages/astgrep-backend/lang/index.js +22 -0
  48. package/dist/languages/astgrep-backend/lang/index.js.map +1 -0
  49. package/dist/languages/astgrep-backend/lang/java.d.ts +26 -0
  50. package/dist/languages/astgrep-backend/lang/java.d.ts.map +1 -0
  51. package/dist/languages/astgrep-backend/lang/java.js +89 -0
  52. package/dist/languages/astgrep-backend/lang/java.js.map +1 -0
  53. package/dist/languages/astgrep-backend/lang/kotlin.d.ts +44 -0
  54. package/dist/languages/astgrep-backend/lang/kotlin.d.ts.map +1 -0
  55. package/dist/languages/astgrep-backend/lang/kotlin.js +94 -0
  56. package/dist/languages/astgrep-backend/lang/kotlin.js.map +1 -0
  57. package/dist/languages/astgrep-backend/lang/php.d.ts +23 -0
  58. package/dist/languages/astgrep-backend/lang/php.d.ts.map +1 -0
  59. package/dist/languages/astgrep-backend/lang/php.js +80 -0
  60. package/dist/languages/astgrep-backend/lang/php.js.map +1 -0
  61. package/dist/languages/astgrep-backend/lang/ruby.d.ts +37 -0
  62. package/dist/languages/astgrep-backend/lang/ruby.d.ts.map +1 -0
  63. package/dist/languages/astgrep-backend/lang/ruby.js +70 -0
  64. package/dist/languages/astgrep-backend/lang/ruby.js.map +1 -0
  65. package/dist/languages/astgrep-backend/lang/swift.d.ts +34 -0
  66. package/dist/languages/astgrep-backend/lang/swift.d.ts.map +1 -0
  67. package/dist/languages/astgrep-backend/lang/swift.js +86 -0
  68. package/dist/languages/astgrep-backend/lang/swift.js.map +1 -0
  69. package/dist/languages/astgrep-backend/languages.d.ts +55 -0
  70. package/dist/languages/astgrep-backend/languages.d.ts.map +1 -0
  71. package/dist/languages/astgrep-backend/languages.js +214 -0
  72. package/dist/languages/astgrep-backend/languages.js.map +1 -0
  73. package/dist/languages/astgrep-backend/napi.d.ts +71 -0
  74. package/dist/languages/astgrep-backend/napi.d.ts.map +1 -0
  75. package/dist/languages/astgrep-backend/napi.js +176 -0
  76. package/dist/languages/astgrep-backend/napi.js.map +1 -0
  77. package/dist/languages/astgrep-backend/syntax.d.ts +88 -0
  78. package/dist/languages/astgrep-backend/syntax.d.ts.map +1 -0
  79. package/dist/languages/astgrep-backend/syntax.js +180 -0
  80. package/dist/languages/astgrep-backend/syntax.js.map +1 -0
  81. package/dist/languages/index.d.ts +14 -0
  82. package/dist/languages/index.d.ts.map +1 -0
  83. package/dist/languages/index.js +37 -0
  84. package/dist/languages/index.js.map +1 -0
  85. package/dist/languages/javascript/index.d.ts +4 -0
  86. package/dist/languages/javascript/index.d.ts.map +1 -0
  87. package/dist/languages/javascript/index.js +7 -0
  88. package/dist/languages/javascript/index.js.map +1 -0
  89. package/dist/languages/jsx/index.d.ts +4 -0
  90. package/dist/languages/jsx/index.d.ts.map +1 -0
  91. package/dist/languages/jsx/index.js +7 -0
  92. package/dist/languages/jsx/index.js.map +1 -0
  93. package/dist/languages/prose/index.d.ts +53 -0
  94. package/dist/languages/prose/index.d.ts.map +1 -0
  95. package/dist/languages/prose/index.js +172 -0
  96. package/dist/languages/prose/index.js.map +1 -0
  97. package/dist/languages/prose/line-bytes.d.ts +31 -0
  98. package/dist/languages/prose/line-bytes.d.ts.map +1 -0
  99. package/dist/languages/prose/line-bytes.js +39 -0
  100. package/dist/languages/prose/line-bytes.js.map +1 -0
  101. package/dist/languages/python/create-adapter.d.ts +20 -0
  102. package/dist/languages/python/create-adapter.d.ts.map +1 -0
  103. package/dist/languages/python/create-adapter.js +9 -0
  104. package/dist/languages/python/create-adapter.js.map +1 -0
  105. package/dist/languages/python/index.d.ts +4 -0
  106. package/dist/languages/python/index.d.ts.map +1 -0
  107. package/dist/languages/python/index.js +6 -0
  108. package/dist/languages/python/index.js.map +1 -0
  109. package/dist/languages/python/profile.d.ts +36 -0
  110. package/dist/languages/python/profile.d.ts.map +1 -0
  111. package/dist/languages/python/profile.js +282 -0
  112. package/dist/languages/python/profile.js.map +1 -0
  113. package/dist/languages/python/signature.d.ts +53 -0
  114. package/dist/languages/python/signature.d.ts.map +1 -0
  115. package/dist/languages/python/signature.js +188 -0
  116. package/dist/languages/python/signature.js.map +1 -0
  117. package/dist/languages/python/table.d.ts +46 -0
  118. package/dist/languages/python/table.d.ts.map +1 -0
  119. package/dist/languages/python/table.js +88 -0
  120. package/dist/languages/python/table.js.map +1 -0
  121. package/dist/languages/shared/call-detection.d.ts +17 -0
  122. package/dist/languages/shared/call-detection.d.ts.map +1 -0
  123. package/dist/languages/shared/call-detection.js +86 -0
  124. package/dist/languages/shared/call-detection.js.map +1 -0
  125. package/dist/languages/shared/chunks.d.ts +28 -0
  126. package/dist/languages/shared/chunks.d.ts.map +1 -0
  127. package/dist/languages/shared/chunks.js +181 -0
  128. package/dist/languages/shared/chunks.js.map +1 -0
  129. package/dist/languages/shared/create-adapter.d.ts +11 -0
  130. package/dist/languages/shared/create-adapter.d.ts.map +1 -0
  131. package/dist/languages/shared/create-adapter.js +90 -0
  132. package/dist/languages/shared/create-adapter.js.map +1 -0
  133. package/dist/languages/shared/decisions.d.ts +45 -0
  134. package/dist/languages/shared/decisions.d.ts.map +1 -0
  135. package/dist/languages/shared/decisions.js +141 -0
  136. package/dist/languages/shared/decisions.js.map +1 -0
  137. package/dist/languages/shared/dialect.d.ts +18 -0
  138. package/dist/languages/shared/dialect.d.ts.map +1 -0
  139. package/dist/languages/shared/dialect.js +37 -0
  140. package/dist/languages/shared/dialect.js.map +1 -0
  141. package/dist/languages/shared/doc-binding.d.ts +26 -0
  142. package/dist/languages/shared/doc-binding.d.ts.map +1 -0
  143. package/dist/languages/shared/doc-binding.js +50 -0
  144. package/dist/languages/shared/doc-binding.js.map +1 -0
  145. package/dist/languages/shared/engine.d.ts +49 -0
  146. package/dist/languages/shared/engine.d.ts.map +1 -0
  147. package/dist/languages/shared/engine.js +317 -0
  148. package/dist/languages/shared/engine.js.map +1 -0
  149. package/dist/languages/shared/extract-symbols.d.ts +5 -0
  150. package/dist/languages/shared/extract-symbols.d.ts.map +1 -0
  151. package/dist/languages/shared/extract-symbols.js +31 -0
  152. package/dist/languages/shared/extract-symbols.js.map +1 -0
  153. package/dist/languages/shared/fingerprint.d.ts +7 -0
  154. package/dist/languages/shared/fingerprint.d.ts.map +1 -0
  155. package/dist/languages/shared/fingerprint.js +95 -0
  156. package/dist/languages/shared/fingerprint.js.map +1 -0
  157. package/dist/languages/shared/grammar-loader.d.ts +15 -0
  158. package/dist/languages/shared/grammar-loader.d.ts.map +1 -0
  159. package/dist/languages/shared/grammar-loader.js +48 -0
  160. package/dist/languages/shared/grammar-loader.js.map +1 -0
  161. package/dist/languages/shared/import-detection.d.ts +24 -0
  162. package/dist/languages/shared/import-detection.d.ts.map +1 -0
  163. package/dist/languages/shared/import-detection.js +138 -0
  164. package/dist/languages/shared/import-detection.js.map +1 -0
  165. package/dist/languages/shared/js-family-profile.d.ts +5 -0
  166. package/dist/languages/shared/js-family-profile.d.ts.map +1 -0
  167. package/dist/languages/shared/js-family-profile.js +179 -0
  168. package/dist/languages/shared/js-family-profile.js.map +1 -0
  169. package/dist/languages/shared/node-kinds.d.ts +78 -0
  170. package/dist/languages/shared/node-kinds.d.ts.map +1 -0
  171. package/dist/languages/shared/node-kinds.js +141 -0
  172. package/dist/languages/shared/node-kinds.js.map +1 -0
  173. package/dist/languages/shared/node-utils.d.ts +31 -0
  174. package/dist/languages/shared/node-utils.d.ts.map +1 -0
  175. package/dist/languages/shared/node-utils.js +89 -0
  176. package/dist/languages/shared/node-utils.js.map +1 -0
  177. package/dist/languages/shared/parse-diagnostics.d.ts +44 -0
  178. package/dist/languages/shared/parse-diagnostics.d.ts.map +1 -0
  179. package/dist/languages/shared/parse-diagnostics.js +64 -0
  180. package/dist/languages/shared/parse-diagnostics.js.map +1 -0
  181. package/dist/languages/shared/parse-limits.d.ts +24 -0
  182. package/dist/languages/shared/parse-limits.d.ts.map +1 -0
  183. package/dist/languages/shared/parse-limits.js +134 -0
  184. package/dist/languages/shared/parse-limits.js.map +1 -0
  185. package/dist/languages/shared/profile.d.ts +149 -0
  186. package/dist/languages/shared/profile.d.ts.map +1 -0
  187. package/dist/languages/shared/profile.js +9 -0
  188. package/dist/languages/shared/profile.js.map +1 -0
  189. package/dist/languages/shared/scope-model.d.ts +32 -0
  190. package/dist/languages/shared/scope-model.d.ts.map +1 -0
  191. package/dist/languages/shared/scope-model.js +2 -0
  192. package/dist/languages/shared/scope-model.js.map +1 -0
  193. package/dist/languages/shared/scope-naming.d.ts +20 -0
  194. package/dist/languages/shared/scope-naming.d.ts.map +1 -0
  195. package/dist/languages/shared/scope-naming.js +118 -0
  196. package/dist/languages/shared/scope-naming.js.map +1 -0
  197. package/dist/languages/shared/scope-signature.d.ts +14 -0
  198. package/dist/languages/shared/scope-signature.d.ts.map +1 -0
  199. package/dist/languages/shared/scope-signature.js +82 -0
  200. package/dist/languages/shared/scope-signature.js.map +1 -0
  201. package/dist/languages/shared/signature.d.ts +55 -0
  202. package/dist/languages/shared/signature.d.ts.map +1 -0
  203. package/dist/languages/shared/signature.js +147 -0
  204. package/dist/languages/shared/signature.js.map +1 -0
  205. package/dist/languages/shared/syntax.d.ts +115 -0
  206. package/dist/languages/shared/syntax.d.ts.map +1 -0
  207. package/dist/languages/shared/syntax.js +2 -0
  208. package/dist/languages/shared/syntax.js.map +1 -0
  209. package/dist/languages/shared/table-profile-decisions.d.ts +54 -0
  210. package/dist/languages/shared/table-profile-decisions.d.ts.map +1 -0
  211. package/dist/languages/shared/table-profile-decisions.js +245 -0
  212. package/dist/languages/shared/table-profile-decisions.js.map +1 -0
  213. package/dist/languages/shared/table-profile-module-facts.d.ts +29 -0
  214. package/dist/languages/shared/table-profile-module-facts.d.ts.map +1 -0
  215. package/dist/languages/shared/table-profile-module-facts.js +139 -0
  216. package/dist/languages/shared/table-profile-module-facts.js.map +1 -0
  217. package/dist/languages/shared/table-profile-queries.d.ts +27 -0
  218. package/dist/languages/shared/table-profile-queries.d.ts.map +1 -0
  219. package/dist/languages/shared/table-profile-queries.js +70 -0
  220. package/dist/languages/shared/table-profile-queries.js.map +1 -0
  221. package/dist/languages/shared/table-profile-scopes.d.ts +46 -0
  222. package/dist/languages/shared/table-profile-scopes.d.ts.map +1 -0
  223. package/dist/languages/shared/table-profile-scopes.js +180 -0
  224. package/dist/languages/shared/table-profile-scopes.js.map +1 -0
  225. package/dist/languages/shared/table-profile.d.ts +302 -0
  226. package/dist/languages/shared/table-profile.d.ts.map +1 -0
  227. package/dist/languages/shared/table-profile.js +125 -0
  228. package/dist/languages/shared/table-profile.js.map +1 -0
  229. package/dist/languages/shared/tree-sitter-types.d.ts +44 -0
  230. package/dist/languages/shared/tree-sitter-types.d.ts.map +1 -0
  231. package/dist/languages/shared/tree-sitter-types.js +2 -0
  232. package/dist/languages/shared/tree-sitter-types.js.map +1 -0
  233. package/dist/languages/structured-text/index.d.ts +48 -0
  234. package/dist/languages/structured-text/index.d.ts.map +1 -0
  235. package/dist/languages/structured-text/index.js +120 -0
  236. package/dist/languages/structured-text/index.js.map +1 -0
  237. package/dist/languages/tsx/index.d.ts +4 -0
  238. package/dist/languages/tsx/index.d.ts.map +1 -0
  239. package/dist/languages/tsx/index.js +7 -0
  240. package/dist/languages/tsx/index.js.map +1 -0
  241. package/dist/languages/typescript/index.d.ts +4 -0
  242. package/dist/languages/typescript/index.d.ts.map +1 -0
  243. package/dist/languages/typescript/index.js +7 -0
  244. package/dist/languages/typescript/index.js.map +1 -0
  245. package/dist/languages/vue/index.d.ts +21 -0
  246. package/dist/languages/vue/index.d.ts.map +1 -0
  247. package/dist/languages/vue/index.js +234 -0
  248. package/dist/languages/vue/index.js.map +1 -0
  249. package/dist/languages/vue/mapping.d.ts +11 -0
  250. package/dist/languages/vue/mapping.d.ts.map +1 -0
  251. package/dist/languages/vue/mapping.js +77 -0
  252. package/dist/languages/vue/mapping.js.map +1 -0
  253. package/dist/registry.d.ts +24 -0
  254. package/dist/registry.d.ts.map +1 -0
  255. package/dist/registry.js +42 -0
  256. package/dist/registry.js.map +1 -0
  257. package/dist/text/byte-offset-table.d.ts +27 -0
  258. package/dist/text/byte-offset-table.d.ts.map +1 -0
  259. package/dist/text/byte-offset-table.js +39 -0
  260. package/dist/text/byte-offset-table.js.map +1 -0
  261. package/package.json +125 -3
  262. package/src/boundaries/expression.ts +95 -0
  263. package/src/boundaries/extract.ts +307 -0
  264. package/src/boundaries/python.ts +181 -0
  265. package/src/index.ts +51 -0
  266. package/src/languages/__golden__/javascript-basic.json +32 -0
  267. package/src/languages/__golden__/tsx-basic.json +19 -0
  268. package/src/languages/__golden__/typescript-basic.json +37 -0
  269. package/src/languages/astgrep-backend/GRAMMARS.md +86 -0
  270. package/src/languages/astgrep-backend/README.md +112 -0
  271. package/src/languages/astgrep-backend/__golden__/bash-basic.sh +53 -0
  272. package/src/languages/astgrep-backend/__golden__/c-basic.c +64 -0
  273. package/src/languages/astgrep-backend/__golden__/cpp-basic.cpp +65 -0
  274. package/src/languages/astgrep-backend/__golden__/csharp-basic.cs +73 -0
  275. package/src/languages/astgrep-backend/__golden__/go-basic.go +93 -0
  276. package/src/languages/astgrep-backend/__golden__/java-basic.java +62 -0
  277. package/src/languages/astgrep-backend/__golden__/kotlin-basic.kt +58 -0
  278. package/src/languages/astgrep-backend/__golden__/php-basic.php +72 -0
  279. package/src/languages/astgrep-backend/__golden__/ruby-basic.rb +62 -0
  280. package/src/languages/astgrep-backend/__golden__/rust-basic.rs +82 -0
  281. package/src/languages/astgrep-backend/__golden__/swift-basic.swift +73 -0
  282. package/src/languages/astgrep-backend/adapter.ts +240 -0
  283. package/src/languages/astgrep-backend/index.ts +44 -0
  284. package/src/languages/astgrep-backend/lang/README.md +115 -0
  285. package/src/languages/astgrep-backend/lang/bash.ts +78 -0
  286. package/src/languages/astgrep-backend/lang/c.ts +119 -0
  287. package/src/languages/astgrep-backend/lang/cpp.ts +65 -0
  288. package/src/languages/astgrep-backend/lang/csharp.ts +125 -0
  289. package/src/languages/astgrep-backend/lang/index.ts +61 -0
  290. package/src/languages/astgrep-backend/lang/java.ts +115 -0
  291. package/src/languages/astgrep-backend/lang/kotlin.ts +136 -0
  292. package/src/languages/astgrep-backend/lang/php.ts +105 -0
  293. package/src/languages/astgrep-backend/lang/ruby.ts +105 -0
  294. package/src/languages/astgrep-backend/lang/swift.ts +118 -0
  295. package/src/languages/astgrep-backend/languages.ts +238 -0
  296. package/src/languages/astgrep-backend/napi.ts +261 -0
  297. package/src/languages/astgrep-backend/syntax.ts +242 -0
  298. package/src/languages/index.ts +53 -0
  299. package/src/languages/javascript/index.ts +9 -0
  300. package/src/languages/jsx/index.ts +9 -0
  301. package/src/languages/prose/index.ts +270 -0
  302. package/src/languages/prose/line-bytes.ts +52 -0
  303. package/src/languages/python/README.md +246 -0
  304. package/src/languages/python/__golden__/python-basic.json +44 -0
  305. package/src/languages/python/create-adapter.ts +29 -0
  306. package/src/languages/python/index.ts +8 -0
  307. package/src/languages/python/profile.ts +341 -0
  308. package/src/languages/python/signature.ts +183 -0
  309. package/src/languages/python/table.ts +135 -0
  310. package/src/languages/shared/__fixtures__/large-over-32kib.ts.txt +1207 -0
  311. package/src/languages/shared/call-detection.ts +112 -0
  312. package/src/languages/shared/chunks.ts +255 -0
  313. package/src/languages/shared/create-adapter.ts +136 -0
  314. package/src/languages/shared/decisions.ts +204 -0
  315. package/src/languages/shared/dialect.ts +55 -0
  316. package/src/languages/shared/doc-binding.ts +78 -0
  317. package/src/languages/shared/engine.ts +461 -0
  318. package/src/languages/shared/extract-symbols.ts +35 -0
  319. package/src/languages/shared/fingerprint.ts +99 -0
  320. package/src/languages/shared/grammar-loader.ts +67 -0
  321. package/src/languages/shared/import-detection.ts +154 -0
  322. package/src/languages/shared/js-family-profile.ts +246 -0
  323. package/src/languages/shared/node-kinds.ts +153 -0
  324. package/src/languages/shared/node-utils.ts +120 -0
  325. package/src/languages/shared/parse-diagnostics.ts +125 -0
  326. package/src/languages/shared/parse-limits.ts +147 -0
  327. package/src/languages/shared/profile.ts +184 -0
  328. package/src/languages/shared/scope-model.ts +43 -0
  329. package/src/languages/shared/scope-naming.ts +124 -0
  330. package/src/languages/shared/scope-signature.ts +108 -0
  331. package/src/languages/shared/signature.ts +149 -0
  332. package/src/languages/shared/syntax.ts +116 -0
  333. package/src/languages/shared/table-profile-decisions.ts +251 -0
  334. package/src/languages/shared/table-profile-module-facts.ts +177 -0
  335. package/src/languages/shared/table-profile-queries.ts +85 -0
  336. package/src/languages/shared/table-profile-scopes.ts +198 -0
  337. package/src/languages/shared/table-profile.ts +427 -0
  338. package/src/languages/shared/tree-sitter-types.ts +46 -0
  339. package/src/languages/structured-text/index.ts +192 -0
  340. package/src/languages/tsx/index.ts +9 -0
  341. package/src/languages/typescript/index.ts +9 -0
  342. package/src/languages/vue/index.ts +312 -0
  343. package/src/languages/vue/mapping.ts +93 -0
  344. package/src/registry.ts +61 -0
  345. package/src/text/byte-offset-table.ts +63 -0
@@ -0,0 +1,70 @@
1
+ export const RUBY_SOURCE = {
2
+ languageName: "ruby",
3
+ moduleName: "@ast-grep/lang-ruby",
4
+ };
5
+ export const RUBY_TABLE = {
6
+ languageId: "ruby",
7
+ extensions: [".rb", ".rake", ".gemspec"],
8
+ supportLevel: "deep",
9
+ commentKinds: ["comment"],
10
+ stringContainerKinds: ["string", "string_array", "symbol_array", "regex", "heredoc_body"],
11
+ identifierLeafKinds: [
12
+ "identifier",
13
+ "constant",
14
+ "instance_variable",
15
+ "class_variable",
16
+ "global_variable",
17
+ "simple_symbol",
18
+ "hash_key_symbol",
19
+ "self",
20
+ ],
21
+ numberLeafKinds: ["integer", "float"],
22
+ booleanLeafKinds: ["true", "false"],
23
+ nullLeafKinds: ["nil"],
24
+ scopes: [
25
+ { kinds: ["module"], scopeKind: "namespace" },
26
+ { kinds: ["class", "singleton_class"], scopeKind: "class" },
27
+ {
28
+ kinds: ["method", "singleton_method"],
29
+ scopeKind: "method",
30
+ constructorNames: ["initialize"],
31
+ },
32
+ ],
33
+ decisions: {
34
+ ifKinds: ["if", "unless", "if_modifier", "unless_modifier"],
35
+ elseIfKinds: ["elsif"],
36
+ loopKinds: ["while", "until", "while_modifier", "until_modifier", "for"],
37
+ catchKinds: ["rescue", "rescue_modifier"],
38
+ ternaryKinds: ["ternary"],
39
+ switchKinds: ["case", "case_match"],
40
+ caseKinds: ["when", "in_clause"],
41
+ binaryKinds: ["binary"],
42
+ operatorField: "operator",
43
+ logicalAndOperators: ["&&", "and"],
44
+ logicalOrOperators: ["||", "or"],
45
+ jumpKinds: ["return", "break", "next", "redo", "retry"],
46
+ blockKinds: ["then", "body_statement"],
47
+ consequenceField: "consequence",
48
+ alternativeField: "alternative",
49
+ },
50
+ // Ruby hat keine Importanweisung — siehe Modulkopf.
51
+ imports: { kinds: [] },
52
+ calls: {
53
+ kinds: ["call"],
54
+ functionField: "method",
55
+ receiverField: "receiver",
56
+ argumentsField: "arguments",
57
+ },
58
+ declarationParentKinds: [
59
+ "method",
60
+ "singleton_method",
61
+ "class",
62
+ "module",
63
+ "optional_parameter",
64
+ "keyword_parameter",
65
+ "block_parameter",
66
+ ],
67
+ bodyField: "body",
68
+ fieldNames: ["name"],
69
+ };
70
+ //# sourceMappingURL=ruby.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruby.js","sourceRoot":"","sources":["../../../../src/languages/astgrep-backend/lang/ruby.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,qBAAqB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;IACxC,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC,SAAS,CAAC;IACzB,oBAAoB,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC;IACzF,mBAAmB,EAAE;QACnB,YAAY;QACZ,UAAU;QACV,mBAAmB;QACnB,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,MAAM;KACP;IACD,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IACrC,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,aAAa,EAAE,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE;QACN,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;QAC7C,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;QAC3D;YACE,KAAK,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YACrC,SAAS,EAAE,QAAQ;YACnB,gBAAgB,EAAE,CAAC,YAAY,CAAC;SACjC;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,CAAC;QAC3D,WAAW,EAAE,CAAC,OAAO,CAAC;QACtB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,CAAC;QACxE,UAAU,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACzC,YAAY,EAAE,CAAC,SAAS,CAAC;QACzB,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAChC,WAAW,EAAE,CAAC,QAAQ,CAAC;QACvB,aAAa,EAAE,UAAU;QACzB,mBAAmB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;QAClC,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACtC,gBAAgB,EAAE,aAAa;QAC/B,gBAAgB,EAAE,aAAa;KAChC;IACD,oDAAoD;IACpD,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACtB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,UAAU;QACzB,cAAc,EAAE,WAAW;KAC5B;IACD,sBAAsB,EAAE;QACtB,QAAQ;QACR,kBAAkB;QAClB,OAAO;QACP,QAAQ;QACR,oBAAoB;QACpB,mBAAmB;QACnB,iBAAiB;KAClB;IACD,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,CAAC,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Swift (WP-86).
3
+ *
4
+ * WIE KOTLIN OHNE FELDNAMEN — mit denselben zwei Folgen (Signatur = erste
5
+ * Zeile, `IdentifierFact.role` immer `reference`); die Begruendung steht im
6
+ * Kopf von `kotlin.ts` und wird hier nicht wiederholt.
7
+ *
8
+ * ABBILDUNGEN: `class_declaration` traegt in Swift AUCH `struct`, `enum`,
9
+ * `actor` und `extension` — unterschieden ueber das Schluesselwortkind.
10
+ * `extension` -> `namespace`: eine Erweiterung ist kein neuer Typ, sondern ein
11
+ * benannter Ort fuer weitere Mitglieder eines bestehenden.
12
+ * `protocol_declaration` -> `interface`.
13
+ *
14
+ * ENTSCHEIDUNGSPUNKTE (spec.md §16.2/§16.3):
15
+ * - `guard_statement` zaehlt als `guard` — es IST die vorzeitige Rueckkehr,
16
+ * fuer die die Art gedacht ist (`guardKinds`).
17
+ * - `switch_entry` ist ein `case`; der `default`-Arm zaehlt nicht
18
+ * (`caseExcludeChildKinds: ["default_keyword"]`).
19
+ * - `catch_block` zaehlt als `catch`.
20
+ * - `??` zaehlt als `short_circuit`, nur erweitert.
21
+ * - `try?`/`try!` zaehlen NICHT: anders als Rusts `?` kehren sie nicht
22
+ * zurueck, sondern liefern `nil` beziehungsweise brechen ab. Der Zweig
23
+ * entsteht am `catch_block`, und der wird gezaehlt.
24
+ *
25
+ * EINE MESSGRENZE, AUSDRUECKLICH: `@ast-grep/lang-swift` steht bei Version
26
+ * 0.0.8. Geprueft ist die Grammatik an der Golden-Datei dieses Pakets
27
+ * (0 Fehlerknoten); an grossen echten Swift-Projekten ist sie hier NICHT
28
+ * erprobt.
29
+ */
30
+ import type { LanguageKindTable } from "../../shared/table-profile.js";
31
+ import type { AstGrepLanguageSource } from "../adapter.js";
32
+ export declare const SWIFT_SOURCE: AstGrepLanguageSource;
33
+ export declare const SWIFT_TABLE: LanguageKindTable;
34
+ //# sourceMappingURL=swift.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../../src/languages/astgrep-backend/lang/swift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,eAAO,MAAM,YAAY,EAAE,qBAG1B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,iBAgFzB,CAAC"}
@@ -0,0 +1,86 @@
1
+ export const SWIFT_SOURCE = {
2
+ languageName: "swift",
3
+ moduleName: "@ast-grep/lang-swift",
4
+ };
5
+ export const SWIFT_TABLE = {
6
+ languageId: "swift",
7
+ extensions: [".swift"],
8
+ supportLevel: "deep",
9
+ commentKinds: ["comment", "multiline_comment"],
10
+ stringContainerKinds: ["line_string_literal", "multi_line_string_literal", "raw_string_literal"],
11
+ identifierLeafKinds: ["simple_identifier", "type_identifier", "self_expression"],
12
+ numberLeafKinds: ["integer_literal", "hex_literal", "oct_literal", "bin_literal", "real_literal"],
13
+ booleanLeafKinds: ["boolean_literal"],
14
+ nullLeafKinds: ["nil"],
15
+ scopes: [
16
+ {
17
+ kinds: ["class_declaration"],
18
+ scopeKind: "class",
19
+ nameKinds: ["type_identifier", "user_type"],
20
+ refine: [
21
+ { childKinds: ["enum"], scopeKind: "enum" },
22
+ { childKinds: ["extension"], scopeKind: "namespace" },
23
+ ],
24
+ },
25
+ {
26
+ kinds: ["protocol_declaration"],
27
+ scopeKind: "interface",
28
+ nameKinds: ["type_identifier"],
29
+ },
30
+ {
31
+ kinds: ["function_declaration", "protocol_function_declaration"],
32
+ scopeKind: "function",
33
+ nameKinds: ["simple_identifier"],
34
+ },
35
+ { kinds: ["init_declaration"], scopeKind: "constructor", nameKinds: ["init"] },
36
+ {
37
+ kinds: ["property_declaration"],
38
+ scopeKind: "property",
39
+ nameKindPath: ["pattern"],
40
+ nameKinds: ["simple_identifier"],
41
+ // Wie in Kotlin: `var i = 0` in einem Funktionsrumpf ist kein Symbol.
42
+ parentKinds: ["class_body", "protocol_body", "enum_class_body", "source_file"],
43
+ },
44
+ ],
45
+ decisions: {
46
+ ifKinds: ["if_statement"],
47
+ elseIfParentKinds: ["if_statement"],
48
+ guardKinds: ["guard_statement"],
49
+ loopKinds: ["for_statement", "while_statement", "repeat_while_statement"],
50
+ catchKinds: ["catch_block"],
51
+ ternaryKinds: ["ternary_expression"],
52
+ switchKinds: ["switch_statement"],
53
+ caseKinds: ["switch_entry"],
54
+ caseExcludeChildKinds: ["default_keyword"],
55
+ anonymousOperatorKinds: [
56
+ "conjunction_expression",
57
+ "disjunction_expression",
58
+ "nil_coalescing_expression",
59
+ ],
60
+ logicalAndOperators: ["&&"],
61
+ logicalOrOperators: ["||"],
62
+ shortCircuitOperators: ["??"],
63
+ jumpKinds: ["control_transfer_statement"],
64
+ blockKinds: ["statements"],
65
+ },
66
+ imports: {
67
+ kinds: ["import_declaration"],
68
+ pathKinds: ["identifier"],
69
+ },
70
+ calls: {
71
+ kinds: ["call_expression"],
72
+ memberKinds: ["navigation_expression"],
73
+ // Swift benutzt `call_expression` AUCH fuer Indexzugriffe: `items["a"]`
74
+ // waere sonst ein Aufruf von `items`. Nur ein Anhang, der mit `(` beginnt,
75
+ // ist ein Aufruf.
76
+ acceptCall: (node) => {
77
+ const last = node.children[node.children.length - 1];
78
+ return last !== undefined && last.text.trimStart().startsWith("(");
79
+ },
80
+ },
81
+ declarationParentKinds: [],
82
+ visibilityKinds: ["modifiers"],
83
+ visibilityWords: ["public", "internal", "fileprivate", "private", "open"],
84
+ fieldNames: ["name"],
85
+ };
86
+ //# sourceMappingURL=swift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../../src/languages/astgrep-backend/lang/swift.ts"],"names":[],"mappings":"AAgCA,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,sBAAsB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC;IAC9C,oBAAoB,EAAE,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,oBAAoB,CAAC;IAChG,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IAChF,eAAe,EAAE,CAAC,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC;IACjG,gBAAgB,EAAE,CAAC,iBAAiB,CAAC;IACrC,aAAa,EAAE,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC,mBAAmB,CAAC;YAC5B,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;YAC3C,MAAM,EAAE;gBACN,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;gBAC3C,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE;aACtD;SACF;QACD;YACE,KAAK,EAAE,CAAC,sBAAsB,CAAC;YAC/B,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,CAAC,iBAAiB,CAAC;SAC/B;QACD;YACE,KAAK,EAAE,CAAC,sBAAsB,EAAE,+BAA+B,CAAC;YAChE,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,CAAC,mBAAmB,CAAC;SACjC;QACD,EAAE,KAAK,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE;QAC9E;YACE,KAAK,EAAE,CAAC,sBAAsB,CAAC;YAC/B,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,CAAC,SAAS,CAAC;YACzB,SAAS,EAAE,CAAC,mBAAmB,CAAC;YAChC,sEAAsE;YACtE,WAAW,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,CAAC;SAC/E;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,CAAC,cAAc,CAAC;QACzB,iBAAiB,EAAE,CAAC,cAAc,CAAC;QACnC,UAAU,EAAE,CAAC,iBAAiB,CAAC;QAC/B,SAAS,EAAE,CAAC,eAAe,EAAE,iBAAiB,EAAE,wBAAwB,CAAC;QACzE,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,YAAY,EAAE,CAAC,oBAAoB,CAAC;QACpC,WAAW,EAAE,CAAC,kBAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,qBAAqB,EAAE,CAAC,iBAAiB,CAAC;QAC1C,sBAAsB,EAAE;YACtB,wBAAwB;YACxB,wBAAwB;YACxB,2BAA2B;SAC5B;QACD,mBAAmB,EAAE,CAAC,IAAI,CAAC;QAC3B,kBAAkB,EAAE,CAAC,IAAI,CAAC;QAC1B,qBAAqB,EAAE,CAAC,IAAI,CAAC;QAC7B,SAAS,EAAE,CAAC,4BAA4B,CAAC;QACzC,UAAU,EAAE,CAAC,YAAY,CAAC;KAC3B;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,oBAAoB,CAAC;QAC7B,SAAS,EAAE,CAAC,YAAY,CAAC;KAC1B;IACD,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,iBAAiB,CAAC;QAC1B,WAAW,EAAE,CAAC,uBAAuB,CAAC;QACtC,wEAAwE;QACxE,2EAA2E;QAC3E,kBAAkB;QAClB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrE,CAAC;KACF;IACD,sBAAsB,EAAE,EAAE;IAC1B,eAAe,EAAE,CAAC,WAAW,CAAC;IAC9B,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;IACzE,UAAU,EAAE,CAAC,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Die Sprachtabellen des ast-grep-Backends.
3
+ *
4
+ * Jede Sprache ist EINE Tabelle (`shared/table-profile.ts`) plus die Angabe,
5
+ * aus welchem npm-Paket ihre Grammatik kommt. Kein Motor, keine
6
+ * Fallunterscheidung, keine zweite Traversierung. Wer eine Sprache
7
+ * hinzufuegt, schreibt eine Tabelle wie die beiden hier und eine
8
+ * Registrierungszeile in `languages/index.ts` — sonst nichts.
9
+ *
10
+ * DIE KNOTENARTEN SIND NACHGESEHEN, NICHT GERATEN: jede Zeichenkette hier
11
+ * stammt aus einem echten Baum, den `adapter.test.ts` mit demselben Quelltext
12
+ * wieder erzeugt. Wer eine Art aendert, ohne den Test zu bewegen, sieht es
13
+ * sofort.
14
+ *
15
+ * SPRACHPAKETE WERDEN EINZELN AUFGENOMMEN. Die 22 Sprachpakete von ast-grep
16
+ * belegen zusammen 450 MB; eine Sammelabhaengigkeit waere respektlos gegen
17
+ * jeden, der nur Go analysieren will.
18
+ */
19
+ import type { LanguageKindTable } from "../shared/table-profile.js";
20
+ import type { AstGrepLanguageSource } from "./adapter.js";
21
+ /** Sprachpakete, wie ast-grep sie kennt (Name) und npm sie liefert (Paket). */
22
+ export declare const GO_SOURCE: AstGrepLanguageSource;
23
+ export declare const RUST_SOURCE: AstGrepLanguageSource;
24
+ /**
25
+ * Go.
26
+ *
27
+ * Zwei Eigenheiten stehen in der Tabelle statt in einer Sonderbehandlung:
28
+ * - `else if` ist in Go ein `if_statement` DIREKT unter einem `if_statement`
29
+ * (kein `else_clause` wie in JS/Rust) — `elseIfParentKinds` sagt das.
30
+ * - Ein Rumpf ist `block > statement_list`; die Guard-Clause-Erkennung muss
31
+ * durch BEIDE Huellen hindurch (`blockKinds`).
32
+ * - Sichtbarkeit steht nicht im Baum, sondern im Namen: Go exportiert, was
33
+ * mit einem Grossbuchstaben beginnt.
34
+ */
35
+ export declare const GO_TABLE: LanguageKindTable;
36
+ /**
37
+ * Rust.
38
+ *
39
+ * Auch hier stehen die Eigenheiten in der Tabelle:
40
+ * - Sichtbarkeit ist ein Knoten (`visibility_modifier`), kein Namensmuster.
41
+ * - `use a::b as c` und `use a::{b, c}` werden ausgepackt, sonst stuende der
42
+ * ganze Ausdruck als "Pfad" im Ergebnis.
43
+ * - `impl Counter { ... }` oeffnet einen Scope der Art `class`, damit
44
+ * Methoden `Counter.bump` heissen statt bloss `bump`. Dass eine Datei
45
+ * dadurch `Counter` zweimal fuehren kann (einmal `struct_item`, einmal
46
+ * `impl_item`), ist gewollt: es sind zwei Quelltextstellen, und die
47
+ * Scope-Kennungen unterscheiden sich ueber die Ordnungszahl.
48
+ *
49
+ * BEKANNTE GRENZE: eine `fn` in einem `impl`-Block wird als `function`
50
+ * gefuehrt, nicht als `method` — die Knotenart ist in beiden Faellen
51
+ * `function_item`, und die Tabelle entscheidet nach Knotenart. Das ist eine
52
+ * Ungenauigkeit in der Symbolart, keine im Bereich oder in der Metrik.
53
+ */
54
+ export declare const RUST_TABLE: LanguageKindTable;
55
+ //# sourceMappingURL=languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../src/languages/astgrep-backend/languages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE1D,+EAA+E;AAC/E,eAAO,MAAM,SAAS,EAAE,qBAGvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,qBAGzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,EAAE,iBAiFtB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,UAAU,EAAE,iBA4FxB,CAAC"}
@@ -0,0 +1,214 @@
1
+ /** Sprachpakete, wie ast-grep sie kennt (Name) und npm sie liefert (Paket). */
2
+ export const GO_SOURCE = {
3
+ languageName: "go",
4
+ moduleName: "@ast-grep/lang-go",
5
+ };
6
+ export const RUST_SOURCE = {
7
+ languageName: "rust",
8
+ moduleName: "@ast-grep/lang-rust",
9
+ };
10
+ /**
11
+ * Go.
12
+ *
13
+ * Zwei Eigenheiten stehen in der Tabelle statt in einer Sonderbehandlung:
14
+ * - `else if` ist in Go ein `if_statement` DIREKT unter einem `if_statement`
15
+ * (kein `else_clause` wie in JS/Rust) — `elseIfParentKinds` sagt das.
16
+ * - Ein Rumpf ist `block > statement_list`; die Guard-Clause-Erkennung muss
17
+ * durch BEIDE Huellen hindurch (`blockKinds`).
18
+ * - Sichtbarkeit steht nicht im Baum, sondern im Namen: Go exportiert, was
19
+ * mit einem Grossbuchstaben beginnt.
20
+ */
21
+ export const GO_TABLE = {
22
+ languageId: "go",
23
+ extensions: [".go"],
24
+ supportLevel: "deep",
25
+ commentKinds: ["comment"],
26
+ stringContainerKinds: ["interpreted_string_literal", "raw_string_literal", "rune_literal"],
27
+ identifierLeafKinds: [
28
+ "identifier",
29
+ "field_identifier",
30
+ "package_identifier",
31
+ "type_identifier",
32
+ "label_name",
33
+ ],
34
+ numberLeafKinds: ["int_literal", "float_literal", "imaginary_literal"],
35
+ booleanLeafKinds: ["true", "false"],
36
+ nullLeafKinds: ["nil"],
37
+ scopes: [
38
+ { kinds: ["function_declaration"], scopeKind: "function" },
39
+ {
40
+ kinds: ["method_declaration"],
41
+ scopeKind: "method",
42
+ qualifierField: "receiver",
43
+ qualifierNameKinds: ["type_identifier"],
44
+ },
45
+ { kinds: ["method_elem"], scopeKind: "method" },
46
+ {
47
+ kinds: ["type_spec"],
48
+ scopeKind: "type",
49
+ refine: [
50
+ { childKinds: ["struct_type"], scopeKind: "class" },
51
+ { childKinds: ["interface_type"], scopeKind: "interface" },
52
+ ],
53
+ },
54
+ ],
55
+ decisions: {
56
+ ifKinds: ["if_statement"],
57
+ elseIfParentKinds: ["if_statement"],
58
+ loopKinds: ["for_statement"],
59
+ switchKinds: ["expression_switch_statement", "type_switch_statement", "select_statement"],
60
+ // WP-86: `default_case` steht hier NICHT mehr. Gos `select` ist zwar kein
61
+ // C-`switch` — jeder `communication_case` ist ein echter, zur Laufzeit
62
+ // gewaehlter Zweig und zaehlt deshalb —, aber der `default`-Zweig ist in
63
+ // beiden Formen der Fall, der uebrig bleibt. Er eroeffnet keinen
64
+ // zusaetzlichen unabhaengigen Pfad: ein `switch` mit drei `case` und einem
65
+ // `default` hat DREI Entscheidungen, nicht vier. Vorher zaehlte er mit und
66
+ // jede Go-Datei mit `default` bekam eine zyklomatische Zahl zu viel.
67
+ caseKinds: ["expression_case", "type_case", "communication_case"],
68
+ binaryKinds: ["binary_expression"],
69
+ operatorField: "operator",
70
+ logicalAndOperators: ["&&"],
71
+ logicalOrOperators: ["||"],
72
+ jumpKinds: ["return_statement", "break_statement", "continue_statement", "goto_statement"],
73
+ blockKinds: ["block", "statement_list"],
74
+ consequenceField: "consequence",
75
+ alternativeField: "alternative",
76
+ },
77
+ imports: {
78
+ kinds: ["import_declaration"],
79
+ specKinds: ["import_spec"],
80
+ pathField: "path",
81
+ aliasField: "name",
82
+ },
83
+ calls: {
84
+ kinds: ["call_expression"],
85
+ functionField: "function",
86
+ argumentsField: "arguments",
87
+ memberKinds: ["selector_expression"],
88
+ },
89
+ declarationParentKinds: [
90
+ "function_declaration",
91
+ "method_declaration",
92
+ "method_elem",
93
+ "type_spec",
94
+ "const_spec",
95
+ "var_spec",
96
+ "import_spec",
97
+ "field_declaration",
98
+ ],
99
+ bodyField: "body",
100
+ isExported: (name) => /^\p{Lu}/u.test(name),
101
+ fieldNames: ["name"],
102
+ };
103
+ /**
104
+ * Rust.
105
+ *
106
+ * Auch hier stehen die Eigenheiten in der Tabelle:
107
+ * - Sichtbarkeit ist ein Knoten (`visibility_modifier`), kein Namensmuster.
108
+ * - `use a::b as c` und `use a::{b, c}` werden ausgepackt, sonst stuende der
109
+ * ganze Ausdruck als "Pfad" im Ergebnis.
110
+ * - `impl Counter { ... }` oeffnet einen Scope der Art `class`, damit
111
+ * Methoden `Counter.bump` heissen statt bloss `bump`. Dass eine Datei
112
+ * dadurch `Counter` zweimal fuehren kann (einmal `struct_item`, einmal
113
+ * `impl_item`), ist gewollt: es sind zwei Quelltextstellen, und die
114
+ * Scope-Kennungen unterscheiden sich ueber die Ordnungszahl.
115
+ *
116
+ * BEKANNTE GRENZE: eine `fn` in einem `impl`-Block wird als `function`
117
+ * gefuehrt, nicht als `method` — die Knotenart ist in beiden Faellen
118
+ * `function_item`, und die Tabelle entscheidet nach Knotenart. Das ist eine
119
+ * Ungenauigkeit in der Symbolart, keine im Bereich oder in der Metrik.
120
+ */
121
+ export const RUST_TABLE = {
122
+ languageId: "rust",
123
+ extensions: [".rs"],
124
+ supportLevel: "deep",
125
+ commentKinds: ["line_comment", "block_comment"],
126
+ stringContainerKinds: ["string_literal", "raw_string_literal", "char_literal"],
127
+ identifierLeafKinds: [
128
+ "identifier",
129
+ "type_identifier",
130
+ "field_identifier",
131
+ "primitive_type",
132
+ "self",
133
+ "shorthand_field_identifier",
134
+ ],
135
+ numberLeafKinds: ["integer_literal", "float_literal"],
136
+ booleanLeafKinds: ["true", "false"],
137
+ scopes: [
138
+ { kinds: ["function_item"], scopeKind: "function" },
139
+ {
140
+ kinds: ["function_signature_item"],
141
+ scopeKind: "method",
142
+ ancestorKinds: ["trait_item"],
143
+ },
144
+ { kinds: ["struct_item", "union_item"], scopeKind: "class" },
145
+ { kinds: ["impl_item"], scopeKind: "class", nameField: "type" },
146
+ { kinds: ["trait_item"], scopeKind: "interface" },
147
+ { kinds: ["enum_item"], scopeKind: "enum" },
148
+ { kinds: ["type_item"], scopeKind: "type" },
149
+ { kinds: ["mod_item"], scopeKind: "namespace" },
150
+ ],
151
+ decisions: {
152
+ ifKinds: ["if_expression"],
153
+ elseIfParentKinds: ["else_clause"],
154
+ loopKinds: ["for_expression", "while_expression", "loop_expression"],
155
+ switchKinds: ["match_expression"],
156
+ // WP-86: gezaehlt wird das MUSTER, nicht der Arm — nur so ist der
157
+ // Auffangarm `_ => ...` zu erkennen (sein `match_pattern` besteht genau
158
+ // aus dem `_`). Er ist Rusts `default` und zaehlt nicht;
159
+ // `Some(_) => ...` zaehlt dagegen, weil es wirklich nur EINEN Fall abdeckt.
160
+ caseKinds: ["match_pattern"],
161
+ caseExcludeFirstChildText: "_",
162
+ // `Some(1) | Some(2)` ist eine Musteralternative — `DecisionKind`
163
+ // `pattern_alternative` existiert genau dafuer.
164
+ patternAlternativeKinds: ["or_pattern"],
165
+ // WP-86: der `?`-OPERATOR IST KONTROLLFLUSS — er kehrt bei `Err` sofort
166
+ // zurueck. Gezaehlt wird er KONSERVATIV als `short_circuit`, also nur
167
+ // ERWEITERT (spec.md §16.3), nicht klassisch (§16.2): `?` ist in
168
+ // idiomatischem Rust so haeufig wie ein Semikolon, und klassisch
169
+ // mitgezaehlt bekaeme jede Funktion, die drei Aufrufe weiterreicht,
170
+ // dieselbe Zahl wie eine mit drei `if`. Verschwiegen wird er nicht — die
171
+ // erweiterte Zahl zeigt ihn.
172
+ shortCircuitKinds: ["try_expression"],
173
+ binaryKinds: ["binary_expression"],
174
+ operatorField: "operator",
175
+ logicalAndOperators: ["&&"],
176
+ logicalOrOperators: ["||"],
177
+ jumpKinds: ["return_expression", "break_expression", "continue_expression"],
178
+ blockKinds: ["block"],
179
+ consequenceField: "consequence",
180
+ alternativeField: "alternative",
181
+ },
182
+ imports: {
183
+ kinds: ["use_declaration"],
184
+ pathField: "argument",
185
+ unwrap: [
186
+ { kinds: ["use_as_clause"], pathField: "path", aliasField: "alias" },
187
+ { kinds: ["scoped_use_list"], pathField: "path", namesField: "list" },
188
+ ],
189
+ },
190
+ calls: {
191
+ kinds: ["call_expression", "macro_invocation"],
192
+ functionField: "function",
193
+ argumentsField: "arguments",
194
+ memberKinds: ["field_expression", "scoped_identifier"],
195
+ },
196
+ declarationParentKinds: [
197
+ "function_item",
198
+ "function_signature_item",
199
+ "struct_item",
200
+ "enum_item",
201
+ "trait_item",
202
+ "mod_item",
203
+ "type_item",
204
+ "const_item",
205
+ "static_item",
206
+ "field_declaration",
207
+ "parameter",
208
+ ],
209
+ visibilityKinds: ["visibility_modifier"],
210
+ bodyField: "body",
211
+ isExported: (_name, node) => node.children.some((child) => child.type === "visibility_modifier"),
212
+ fieldNames: ["name", "type"],
213
+ };
214
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../../../src/languages/astgrep-backend/languages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /** Die Knotenform von ast-grep, auf die Teilmenge reduziert, die wir benutzen. */
2
+ export interface SgNode {
3
+ id(): number;
4
+ kind(): string;
5
+ text(): string;
6
+ range(): {
7
+ start: SgPos;
8
+ end: SgPos;
9
+ };
10
+ isLeaf(): boolean;
11
+ isNamed(): boolean;
12
+ children(): SgNode[];
13
+ namedChildren(): SgNode[];
14
+ parent(): SgNode | null;
15
+ prev(): SgNode | null;
16
+ field(name: string): SgNode | null;
17
+ }
18
+ export interface SgPos {
19
+ /** 0-basierte Zeile. */
20
+ line: number;
21
+ /** 0-basierte Spalte, in UTF-16-Einheiten. */
22
+ column: number;
23
+ /**
24
+ * ENTGEGEN der Typdefinition von ast-grep ("byte offset") ein
25
+ * UTF-16-Offset — nachgemessen an Umlauten und Emoji. Die Umrechnung in
26
+ * Bytes macht ausschliesslich die `ByteOffsetTable`.
27
+ */
28
+ index: number;
29
+ }
30
+ export interface SgRoot {
31
+ root(): SgNode;
32
+ }
33
+ /** Wie es einer angemeldeten Sprache ergangen ist. */
34
+ export type AstGrepLanguageStatus = {
35
+ readonly state: "pending";
36
+ } | {
37
+ readonly state: "available";
38
+ } | {
39
+ readonly state: "unavailable";
40
+ readonly reason: string;
41
+ };
42
+ /**
43
+ * Meldet eine Sprache fuer die EINE spaetere Registrierung an. Kostet nichts:
44
+ * kein `require`, kein Laden einer Grammatik — genau wie die traege
45
+ * Registrierung der tree-sitter-Adapter (`registry.ts`).
46
+ */
47
+ export declare function registerAstGrepLanguage(languageName: string, moduleName: string): void;
48
+ /**
49
+ * Zustand einer angemeldeten Sprache — fuer `doctor` und fuer Tests. Loest die
50
+ * Registrierung NICHT aus: wer nur fragt, soll keine Grammatik laden.
51
+ */
52
+ export declare function astGrepLanguageStatus(languageName: string): AstGrepLanguageStatus | null;
53
+ /** Alle angemeldeten Sprachen mit ihrem Zustand (Reihenfolge der Anmeldung). */
54
+ export declare function astGrepLanguageStates(): {
55
+ languageName: string;
56
+ status: AstGrepLanguageStatus;
57
+ }[];
58
+ /**
59
+ * Parst Quelltext mit ast-grep. Loest beim ERSTEN Aufruf die einmalige
60
+ * Registrierung aus (siehe Modulkopf) und wirft einen benannten
61
+ * `AdapterParseError`, wenn genau diese Sprache nicht verfuegbar ist.
62
+ */
63
+ export declare function astGrepParse(languageName: string, source: string): SgNode;
64
+ /**
65
+ * Nur fuer Tests: setzt Anmeldungen und Registrierungszustand zurueck. Der
66
+ * NATIVE Zustand laesst sich damit NICHT zuruecksetzen — `registerDynamicLanguage`
67
+ * bleibt im Prozess wirksam. Ein Test, der eine zweite, andere Registrierung
68
+ * erzwingen will, braucht einen eigenen Prozess.
69
+ */
70
+ export declare function resetAstGrepRegistrationForTests(): void;
71
+ //# sourceMappingURL=napi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"napi.d.ts","sourceRoot":"","sources":["../../../src/languages/astgrep-backend/napi.ts"],"names":[],"mappings":"AAyCA,kFAAkF;AAClF,MAAM,WAAW,MAAM;IACrB,EAAE,IAAI,MAAM,CAAC;IACb,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAA;KAAE,CAAC;IACtC,MAAM,IAAI,OAAO,CAAC;IAClB,OAAO,IAAI,OAAO,CAAC;IACnB,QAAQ,IAAI,MAAM,EAAE,CAAC;IACrB,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACpB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,IAAI,MAAM,CAAC;CAChB;AAeD,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAc/D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAwBtF;AA2DD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAExF;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,IAAI;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAKjG;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAmCzE;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,IAAI,IAAI,CAIvD"}