@lzehrung/codegraph 2.3.28 → 2.3.30

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 (325) hide show
  1. package/dist/bin/cli.js +7008 -4340
  2. package/dist/bin/query-index-worker.js +1357 -724
  3. package/dist/document-links/asciidoc.d.ts.map +1 -1
  4. package/dist/document-links/asciidoc.js +3 -4
  5. package/dist/document-links/asciidoc.js.map +1 -1
  6. package/dist/document-links/html-forms.d.ts +39 -0
  7. package/dist/document-links/html-forms.d.ts.map +1 -0
  8. package/dist/document-links/html-forms.js +94 -0
  9. package/dist/document-links/html-forms.js.map +1 -0
  10. package/dist/document-links/html.d.ts +8 -0
  11. package/dist/document-links/html.d.ts.map +1 -1
  12. package/dist/document-links/html.js +30 -15
  13. package/dist/document-links/html.js.map +1 -1
  14. package/dist/document-links/markdown.d.ts.map +1 -1
  15. package/dist/document-links/markdown.js +6 -7
  16. package/dist/document-links/markdown.js.map +1 -1
  17. package/dist/document-links/rst.d.ts.map +1 -1
  18. package/dist/document-links/rst.js +6 -0
  19. package/dist/document-links/rst.js.map +1 -1
  20. package/dist/document-links/sfc.d.ts.map +1 -1
  21. package/dist/document-links/sfc.js +4 -4
  22. package/dist/document-links/sfc.js.map +1 -1
  23. package/dist/graphs/angularjs.d.ts.map +1 -1
  24. package/dist/graphs/angularjs.js +9 -1
  25. package/dist/graphs/angularjs.js.map +1 -1
  26. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  27. package/dist/graphs/edge-resolution.js +12 -2
  28. package/dist/graphs/edge-resolution.js.map +1 -1
  29. package/dist/graphs/specifiers.d.ts.map +1 -1
  30. package/dist/graphs/specifiers.js +62 -104
  31. package/dist/graphs/specifiers.js.map +1 -1
  32. package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
  33. package/dist/graphs/symbol-graph-detailed/ast.js +3 -0
  34. package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
  35. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  36. package/dist/graphs/symbol-graph-detailed/edge-passes.js +157 -91
  37. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  38. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +34 -0
  39. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  40. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +531 -24
  41. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  42. package/dist/impact/analyzer.d.ts.map +1 -1
  43. package/dist/impact/analyzer.js +82 -4
  44. package/dist/impact/analyzer.js.map +1 -1
  45. package/dist/impact/call-compatibility/providers/index.d.ts +3 -1
  46. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  47. package/dist/impact/call-compatibility/providers/index.js +11 -4
  48. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  49. package/dist/impact/call-compatibility.d.ts.map +1 -1
  50. package/dist/impact/call-compatibility.js +2 -7
  51. package/dist/impact/call-compatibility.js.map +1 -1
  52. package/dist/impact/map.d.ts.map +1 -1
  53. package/dist/impact/map.js +58 -1
  54. package/dist/impact/map.js.map +1 -1
  55. package/dist/impact/member-resolution-coverage.d.ts.map +1 -1
  56. package/dist/impact/member-resolution-coverage.js +2 -5
  57. package/dist/impact/member-resolution-coverage.js.map +1 -1
  58. package/dist/indexer/build-cache/manifest.d.ts +7 -0
  59. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  60. package/dist/indexer/build-cache/manifest.js +32 -1
  61. package/dist/indexer/build-cache/manifest.js.map +1 -1
  62. package/dist/indexer/build-cache/options.d.ts +20 -2
  63. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  64. package/dist/indexer/build-cache/options.js +21 -3
  65. package/dist/indexer/build-cache/options.js.map +1 -1
  66. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  67. package/dist/indexer/build-cache/project-snapshot.js +1 -0
  68. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  69. package/dist/indexer/build-index.d.ts.map +1 -1
  70. package/dist/indexer/build-index.js +80 -2
  71. package/dist/indexer/build-index.js.map +1 -1
  72. package/dist/indexer/build-manifest.d.ts +1 -0
  73. package/dist/indexer/build-manifest.d.ts.map +1 -1
  74. package/dist/indexer/build-manifest.js +18 -0
  75. package/dist/indexer/build-manifest.js.map +1 -1
  76. package/dist/indexer/build-workers.js +1 -1
  77. package/dist/indexer/build-workers.js.map +1 -1
  78. package/dist/indexer/declaration-visibility.d.ts +43 -0
  79. package/dist/indexer/declaration-visibility.d.ts.map +1 -0
  80. package/dist/indexer/declaration-visibility.js +202 -0
  81. package/dist/indexer/declaration-visibility.js.map +1 -0
  82. package/dist/indexer/imports/binding-ranges.d.ts +1 -1
  83. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  84. package/dist/indexer/imports/binding-ranges.js +2 -123
  85. package/dist/indexer/imports/binding-ranges.js.map +1 -1
  86. package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
  87. package/dist/indexer/imports/js-text-imports.js +5 -2
  88. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  89. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  90. package/dist/indexer/imports/language-specific.js +58 -215
  91. package/dist/indexer/imports/language-specific.js.map +1 -1
  92. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  93. package/dist/indexer/imports/native-captures.js +23 -32
  94. package/dist/indexer/imports/native-captures.js.map +1 -1
  95. package/dist/indexer/imports/text-import-extractors.d.ts +37 -0
  96. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -0
  97. package/dist/indexer/imports/text-import-extractors.js +358 -0
  98. package/dist/indexer/imports/text-import-extractors.js.map +1 -0
  99. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  100. package/dist/indexer/locals-and-exports.js +26 -27
  101. package/dist/indexer/locals-and-exports.js.map +1 -1
  102. package/dist/indexer/navigation-goto.d.ts +1 -7
  103. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  104. package/dist/indexer/navigation-goto.js +406 -276
  105. package/dist/indexer/navigation-goto.js.map +1 -1
  106. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  107. package/dist/indexer/navigation-resolve.js +20 -1
  108. package/dist/indexer/navigation-resolve.js.map +1 -1
  109. package/dist/indexer/navigation.d.ts.map +1 -1
  110. package/dist/indexer/navigation.js +49 -7
  111. package/dist/indexer/navigation.js.map +1 -1
  112. package/dist/indexer/parse-context.js +2 -2
  113. package/dist/indexer/parse-context.js.map +1 -1
  114. package/dist/indexer/scope-nodes.d.ts +108 -0
  115. package/dist/indexer/scope-nodes.d.ts.map +1 -0
  116. package/dist/indexer/scope-nodes.js +238 -0
  117. package/dist/indexer/scope-nodes.js.map +1 -0
  118. package/dist/indexer/scope.d.ts.map +1 -1
  119. package/dist/indexer/scope.js +70 -130
  120. package/dist/indexer/scope.js.map +1 -1
  121. package/dist/indexer/types.d.ts +7 -0
  122. package/dist/indexer/types.d.ts.map +1 -1
  123. package/dist/languages/definitions/c-family.d.ts +18 -4
  124. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  125. package/dist/languages/definitions/c-family.js +51 -13
  126. package/dist/languages/definitions/c-family.js.map +1 -1
  127. package/dist/languages/definitions/c.d.ts.map +1 -1
  128. package/dist/languages/definitions/c.js +7 -43
  129. package/dist/languages/definitions/c.js.map +1 -1
  130. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  131. package/dist/languages/definitions/cpp.js +34 -53
  132. package/dist/languages/definitions/cpp.js.map +1 -1
  133. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  134. package/dist/languages/definitions/csharp.js +47 -53
  135. package/dist/languages/definitions/csharp.js.map +1 -1
  136. package/dist/languages/definitions/css-like.d.ts.map +1 -1
  137. package/dist/languages/definitions/css-like.js +13 -10
  138. package/dist/languages/definitions/css-like.js.map +1 -1
  139. package/dist/languages/definitions/go.d.ts.map +1 -1
  140. package/dist/languages/definitions/go.js +29 -42
  141. package/dist/languages/definitions/go.js.map +1 -1
  142. package/dist/languages/definitions/html.d.ts.map +1 -1
  143. package/dist/languages/definitions/html.js +15 -14
  144. package/dist/languages/definitions/html.js.map +1 -1
  145. package/dist/languages/definitions/java.d.ts.map +1 -1
  146. package/dist/languages/definitions/java.js +42 -48
  147. package/dist/languages/definitions/java.js.map +1 -1
  148. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  149. package/dist/languages/definitions/javascript.js +26 -54
  150. package/dist/languages/definitions/javascript.js.map +1 -1
  151. package/dist/languages/definitions/js-family.d.ts +15 -1
  152. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  153. package/dist/languages/definitions/js-family.js +51 -0
  154. package/dist/languages/definitions/js-family.js.map +1 -1
  155. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  156. package/dist/languages/definitions/kotlin.js +26 -43
  157. package/dist/languages/definitions/kotlin.js.map +1 -1
  158. package/dist/languages/definitions/php.d.ts.map +1 -1
  159. package/dist/languages/definitions/php.js +50 -60
  160. package/dist/languages/definitions/php.js.map +1 -1
  161. package/dist/languages/definitions/python.d.ts +5 -1
  162. package/dist/languages/definitions/python.d.ts.map +1 -1
  163. package/dist/languages/definitions/python.js +62 -14
  164. package/dist/languages/definitions/python.js.map +1 -1
  165. package/dist/languages/definitions/ruby.d.ts.map +1 -1
  166. package/dist/languages/definitions/ruby.js +14 -17
  167. package/dist/languages/definitions/ruby.js.map +1 -1
  168. package/dist/languages/definitions/rust.d.ts.map +1 -1
  169. package/dist/languages/definitions/rust.js +30 -52
  170. package/dist/languages/definitions/rust.js.map +1 -1
  171. package/dist/languages/definitions/scss.d.ts.map +1 -1
  172. package/dist/languages/definitions/scss.js +36 -30
  173. package/dist/languages/definitions/scss.js.map +1 -1
  174. package/dist/languages/definitions/sfc-graph.d.ts +4 -0
  175. package/dist/languages/definitions/sfc-graph.d.ts.map +1 -0
  176. package/dist/languages/definitions/sfc-graph.js +16 -0
  177. package/dist/languages/definitions/sfc-graph.js.map +1 -0
  178. package/dist/languages/definitions/shared.d.ts +33 -0
  179. package/dist/languages/definitions/shared.d.ts.map +1 -0
  180. package/dist/languages/definitions/shared.js +63 -0
  181. package/dist/languages/definitions/shared.js.map +1 -0
  182. package/dist/languages/definitions/sql.d.ts.map +1 -1
  183. package/dist/languages/definitions/sql.js +1 -0
  184. package/dist/languages/definitions/sql.js.map +1 -1
  185. package/dist/languages/definitions/svelte.d.ts.map +1 -1
  186. package/dist/languages/definitions/svelte.js +2 -10
  187. package/dist/languages/definitions/svelte.js.map +1 -1
  188. package/dist/languages/definitions/swift.d.ts.map +1 -1
  189. package/dist/languages/definitions/swift.js +37 -31
  190. package/dist/languages/definitions/swift.js.map +1 -1
  191. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  192. package/dist/languages/definitions/typescript.js +65 -79
  193. package/dist/languages/definitions/typescript.js.map +1 -1
  194. package/dist/languages/definitions/vue.d.ts.map +1 -1
  195. package/dist/languages/definitions/vue.js +2 -10
  196. package/dist/languages/definitions/vue.js.map +1 -1
  197. package/dist/languages/definitions/zig.d.ts.map +1 -1
  198. package/dist/languages/definitions/zig.js +9 -15
  199. package/dist/languages/definitions/zig.js.map +1 -1
  200. package/dist/languages/graph-captures.d.ts +40 -0
  201. package/dist/languages/graph-captures.d.ts.map +1 -0
  202. package/dist/languages/graph-captures.js +46 -0
  203. package/dist/languages/graph-captures.js.map +1 -0
  204. package/dist/languages/import-statement-parsers.d.ts +17 -0
  205. package/dist/languages/import-statement-parsers.d.ts.map +1 -1
  206. package/dist/languages/import-statement-parsers.js +108 -0
  207. package/dist/languages/import-statement-parsers.js.map +1 -1
  208. package/dist/languages/js-family.d.ts +2 -0
  209. package/dist/languages/js-family.d.ts.map +1 -1
  210. package/dist/languages/js-family.js +15 -6
  211. package/dist/languages/js-family.js.map +1 -1
  212. package/dist/languages/types.d.ts +4 -0
  213. package/dist/languages/types.d.ts.map +1 -1
  214. package/dist/languages/types.js +1 -1
  215. package/dist/languages/types.js.map +1 -1
  216. package/dist/languages.js +1 -1
  217. package/dist/languages.js.map +1 -1
  218. package/dist/native/contracts.d.ts +1 -1
  219. package/dist/native/contracts.d.ts.map +1 -1
  220. package/dist/native/js-bridge.d.ts +10 -0
  221. package/dist/native/js-bridge.d.ts.map +1 -1
  222. package/dist/native/js-bridge.js +10 -0
  223. package/dist/native/js-bridge.js.map +1 -1
  224. package/dist/native/native-backend-report.d.ts.map +1 -1
  225. package/dist/native/native-backend-report.js +2 -0
  226. package/dist/native/native-backend-report.js.map +1 -1
  227. package/dist/sql/graph.d.ts +1 -1
  228. package/dist/sql/graph.d.ts.map +1 -1
  229. package/dist/sql/graph.js.map +1 -1
  230. package/dist/sql/lookup.d.ts +7 -0
  231. package/dist/sql/lookup.d.ts.map +1 -1
  232. package/dist/sql/lookup.js +17 -0
  233. package/dist/sql/lookup.js.map +1 -1
  234. package/dist/sql/source-graph.d.ts +2 -0
  235. package/dist/sql/source-graph.d.ts.map +1 -1
  236. package/dist/sql/source-graph.js +20 -1
  237. package/dist/sql/source-graph.js.map +1 -1
  238. package/dist/util/comments.d.ts +7 -7
  239. package/dist/util/comments.d.ts.map +1 -1
  240. package/dist/util/comments.js +15 -214
  241. package/dist/util/comments.js.map +1 -1
  242. package/dist/util/lines.d.ts.map +1 -1
  243. package/dist/util/lines.js +4 -1
  244. package/dist/util/lines.js.map +1 -1
  245. package/dist/util/member-access.d.ts +2 -0
  246. package/dist/util/member-access.d.ts.map +1 -1
  247. package/dist/util/member-access.js +18 -5
  248. package/dist/util/member-access.js.map +1 -1
  249. package/dist/util/paths.d.ts +4 -0
  250. package/dist/util/paths.d.ts.map +1 -1
  251. package/dist/util/paths.js +26 -0
  252. package/dist/util/paths.js.map +1 -1
  253. package/dist/util/project-files.js +1 -1
  254. package/dist/util/project-files.js.map +1 -1
  255. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  256. package/dist/util/resolution/cargo-targets.js +17 -14
  257. package/dist/util/resolution/cargo-targets.js.map +1 -1
  258. package/dist/util/resolution/cpp.d.ts +6 -0
  259. package/dist/util/resolution/cpp.d.ts.map +1 -0
  260. package/dist/util/resolution/cpp.js +69 -0
  261. package/dist/util/resolution/cpp.js.map +1 -0
  262. package/dist/util/resolution/csharp.d.ts +8 -0
  263. package/dist/util/resolution/csharp.d.ts.map +1 -0
  264. package/dist/util/resolution/csharp.js +103 -0
  265. package/dist/util/resolution/csharp.js.map +1 -0
  266. package/dist/util/resolution/files.d.ts +6 -0
  267. package/dist/util/resolution/files.d.ts.map +1 -1
  268. package/dist/util/resolution/files.js +108 -4
  269. package/dist/util/resolution/files.js.map +1 -1
  270. package/dist/util/resolution/go.d.ts +1 -0
  271. package/dist/util/resolution/go.d.ts.map +1 -1
  272. package/dist/util/resolution/go.js +4 -3
  273. package/dist/util/resolution/go.js.map +1 -1
  274. package/dist/util/resolution/jvm.d.ts +3 -3
  275. package/dist/util/resolution/jvm.d.ts.map +1 -1
  276. package/dist/util/resolution/jvm.js +90 -54
  277. package/dist/util/resolution/jvm.js.map +1 -1
  278. package/dist/util/resolution/node.js +2 -2
  279. package/dist/util/resolution/node.js.map +1 -1
  280. package/dist/util/resolution/php-composer.d.ts.map +1 -1
  281. package/dist/util/resolution/php-composer.js +8 -7
  282. package/dist/util/resolution/php-composer.js.map +1 -1
  283. package/dist/util/resolution/php.d.ts.map +1 -1
  284. package/dist/util/resolution/php.js +30 -43
  285. package/dist/util/resolution/php.js.map +1 -1
  286. package/dist/util/resolution/project-symbols.d.ts +5 -7
  287. package/dist/util/resolution/project-symbols.d.ts.map +1 -1
  288. package/dist/util/resolution/project-symbols.js +23 -9
  289. package/dist/util/resolution/project-symbols.js.map +1 -1
  290. package/dist/util/resolution/python.d.ts.map +1 -1
  291. package/dist/util/resolution/python.js +107 -62
  292. package/dist/util/resolution/python.js.map +1 -1
  293. package/dist/util/resolution/rust.d.ts.map +1 -1
  294. package/dist/util/resolution/rust.js +45 -34
  295. package/dist/util/resolution/rust.js.map +1 -1
  296. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  297. package/dist/util/resolution/tsconfig.js +3 -9
  298. package/dist/util/resolution/tsconfig.js.map +1 -1
  299. package/dist/util/resolution-candidates.d.ts +5 -1
  300. package/dist/util/resolution-candidates.d.ts.map +1 -1
  301. package/dist/util/resolution-candidates.js +18 -0
  302. package/dist/util/resolution-candidates.js.map +1 -1
  303. package/dist/util/resolution.d.ts.map +1 -1
  304. package/dist/util/resolution.js +95 -49
  305. package/dist/util/resolution.js.map +1 -1
  306. package/dist/util/specifiers.d.ts +4 -10
  307. package/dist/util/specifiers.d.ts.map +1 -1
  308. package/dist/util/specifiers.js +213 -164
  309. package/dist/util/specifiers.js.map +1 -1
  310. package/dist/util/trivia-tables.d.ts +69 -0
  311. package/dist/util/trivia-tables.d.ts.map +1 -0
  312. package/dist/util/trivia-tables.js +186 -0
  313. package/dist/util/trivia-tables.js.map +1 -0
  314. package/dist/util/trivia.d.ts +24 -0
  315. package/dist/util/trivia.d.ts.map +1 -0
  316. package/dist/util/trivia.js +621 -0
  317. package/dist/util/trivia.js.map +1 -0
  318. package/dist/util.d.ts +1 -1
  319. package/dist/util.d.ts.map +1 -1
  320. package/dist/util.js +1 -1
  321. package/dist/util.js.map +1 -1
  322. package/dist/worker/native-extract-worker.d.ts.map +1 -1
  323. package/dist/worker/native-extract-worker.js +4 -4
  324. package/dist/worker/native-extract-worker.js.map +1 -1
  325. package/package.json +3 -3
@@ -1,4 +1,5 @@
1
1
  import { registerLanguage } from "../registry.js";
2
+ import { classifyByParentType, isNameFieldOnParent, nodeTypeIn } from "./shared.js";
2
3
  import { hasNonAsciiCodePoint } from "../../util/identifiers.js";
3
4
  export const RUST_DEF = {
4
5
  id: "rust",
@@ -42,9 +43,9 @@ export const RUST_DEF = {
42
43
  },
43
44
  graph: {
44
45
  imports: `
45
- (mod_item name: (identifier) @mod) @stmt
46
- (extern_crate_declaration name: (identifier) @mod) @stmt
47
- (use_declaration argument: (_) @mod) @stmt
46
+ (mod_item name: (identifier) @from) @stmt
47
+ (extern_crate_declaration name: (identifier) @from) @stmt
48
+ (use_declaration argument: (_) @from) @stmt
48
49
  `,
49
50
  exports: `
50
51
  (function_item name: (identifier) @name) @stmt
@@ -94,6 +95,7 @@ export const RUST_DEF = {
94
95
  (use_declaration argument: (use_as_clause path: (identifier) @from alias: (identifier) @alias)) @stmt
95
96
  (use_declaration argument: (use_as_clause path: (scoped_identifier path: (_) @from name: (identifier) @iname) alias: (identifier) @alias)) @stmt
96
97
  (use_declaration argument: (scoped_identifier path: (_) @from name: (identifier) @iname)) @stmt
98
+ (use_declaration argument: (use_wildcard) @from @wild) @stmt
97
99
  (use_declaration argument: (identifier) @from) @stmt
98
100
  (use_declaration argument: (scoped_use_list path: (_) @from list: (use_list (identifier) @iname))) @stmt
99
101
  ;; Aliased members inside a group (\`use foo::{Bar as Baz}\`): import
@@ -108,55 +110,31 @@ export const RUST_DEF = {
108
110
  supportsCrossModuleSymbols: true,
109
111
  exportScopeBlockers: ["block"],
110
112
  scopeDeclarationNames: (node) => node.parent?.type === "macro_definition",
111
- classifyDefinition: (node) => {
112
- const parent = node.parent;
113
- if (!parent)
114
- return "variable";
115
- if (parent.type === "function_item" ||
116
- parent.type === "function_signature_item" ||
117
- parent.type === "macro_definition")
118
- return "function";
119
- if (parent.type === "enum_item" || parent.type === "type_item" || parent.type === "associated_type")
120
- return "type";
121
- if (parent.type === "struct_item" || parent.type === "trait_item")
122
- return "class";
123
- return "variable";
124
- },
125
- createsFunctionScope: (node) => node.type === "function_item",
126
- createsBlockScope: (node) => node.type === "block",
127
- membersAreImplicitlyInScope: false,
128
- isDeclarationName: (node) => {
129
- const p = node.parent;
130
- if (!p)
131
- return false;
132
- if (p.type === "function_item" && p.childForFieldName("name")?.id === node.id)
133
- return true;
134
- if (p.type === "function_signature_item" && p.childForFieldName("name")?.id === node.id)
135
- return true;
136
- if (p.type === "struct_item" && p.childForFieldName("name")?.id === node.id)
137
- return true;
138
- if (p.type === "trait_item" && p.childForFieldName("name")?.id === node.id)
139
- return true;
140
- if (p.type === "type_item" && p.childForFieldName("name")?.id === node.id)
141
- return true;
142
- if (p.type === "associated_type" && p.childForFieldName("name")?.id === node.id)
143
- return true;
144
- if (p.type === "enum_item" && p.childForFieldName("name")?.id === node.id)
145
- return true;
146
- if (p.type === "enum_variant" && p.childForFieldName("name")?.id === node.id)
147
- return true;
148
- if (p.type === "const_item" && p.childForFieldName("name")?.id === node.id)
149
- return true;
150
- if (p.type === "static_item" && p.childForFieldName("name")?.id === node.id)
151
- return true;
152
- if (p.type === "macro_definition" && p.childForFieldName("name")?.id === node.id)
153
- return true;
154
- if (p.type === "let_declaration" && p.childForFieldName("pattern")?.id === node.id)
155
- return true;
156
- if (p.type === "parameter" && p.childForFieldName("pattern")?.id === node.id)
157
- return true;
158
- return false;
159
- },
113
+ classifyDefinition: classifyByParentType({
114
+ function_item: "function",
115
+ function_signature_item: "function",
116
+ macro_definition: "function",
117
+ enum_item: "type",
118
+ type_item: "type",
119
+ associated_type: "type",
120
+ struct_item: "class",
121
+ trait_item: "class",
122
+ }),
123
+ createsFunctionScope: nodeTypeIn(["function_item"]),
124
+ createsBlockScope: nodeTypeIn(["block"]),
125
+ isDeclarationName: (node) => isNameFieldOnParent(node, [
126
+ "function_item",
127
+ "function_signature_item",
128
+ "struct_item",
129
+ "trait_item",
130
+ "type_item",
131
+ "associated_type",
132
+ "enum_item",
133
+ "enum_variant",
134
+ "const_item",
135
+ "static_item",
136
+ "macro_definition",
137
+ ]) || isNameFieldOnParent(node, ["let_declaration", "parameter"], "pattern"),
160
138
  normalizeIdentifier: (name) => (hasNonAsciiCodePoint(name) ? name.normalize("NFC") : name),
161
139
  };
162
140
  registerLanguage(RUST_DEF);
@@ -1 +1 @@
1
- {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/languages/definitions/rust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../../src/languages/definitions/rust.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scss.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/scss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,QAAQ,EAAE,kBAuDtB,CAAC"}
1
+ {"version":3,"file":"scss.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/scss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAyBtD,eAAO,MAAM,QAAQ,EAAE,kBA4CtB,CAAC"}
@@ -1,4 +1,23 @@
1
+ import { graphCapture } from "../graph-captures.js";
1
2
  import { registerLanguage } from "../registry.js";
3
+ import { classifyByParentType, isNameFieldOnParent, matchesParentTypePairs } from "./shared.js";
4
+ import { cssLikeGraph } from "./css-like.js";
5
+ const from = graphCapture("from");
6
+ const stmt = graphCapture("stmt");
7
+ const cssGraph = cssLikeGraph();
8
+ const sassImportQueries = `
9
+ (import_statement (_ (string_value) ${from})) ${stmt}
10
+ (use_statement (string_value) ${from}) ${stmt}
11
+ (use_statement (_ (string_value) ${from})) ${stmt}
12
+ (forward_statement (string_value) ${from}) ${stmt}
13
+ (forward_statement (_ (string_value) ${from})) ${stmt}
14
+ `;
15
+ const sassLocalQueries = `
16
+ (mixin_statement name: (identifier) @name)
17
+ (function_statement name: (identifier) @name)
18
+ ((declaration (property_name) @name) (#match? @name "^[$]"))
19
+ (selectors (placeholder (identifier) @name))
20
+ `;
2
21
  export const SCSS_DEF = {
3
22
  id: "scss",
4
23
  extensions: [".scss"],
@@ -15,46 +34,33 @@ export const SCSS_DEF = {
15
34
  comments: ["comment", "js_comment"],
16
35
  },
17
36
  graph: {
18
- imports: `
19
- (import_statement (string_value) @mod) @stmt
20
- (import_statement (_ (string_value) @mod)) @stmt
21
- (use_statement (string_value) @mod) @stmt
22
- (use_statement (_ (string_value) @mod)) @stmt
23
- (forward_statement (string_value) @mod) @stmt
24
- (forward_statement (_ (string_value) @mod)) @stmt
25
- `,
37
+ imports: `${cssGraph.imports}${sassImportQueries}`,
26
38
  exports: `
27
39
  (stylesheet (mixin_statement name: (identifier) @name))
28
40
  (stylesheet (function_statement name: (identifier) @name))
29
41
  ((stylesheet (declaration (property_name) @name)) (#match? @name "^[$]"))
30
42
  (stylesheet (rule_set (selectors (placeholder (identifier) @name))))
31
43
  `,
32
- locals: `
33
- (mixin_statement name: (identifier) @name)
34
- (function_statement name: (identifier) @name)
35
- ((declaration (property_name) @name) (#match? @name "^[$]"))
36
- (placeholder (identifier) @name)
37
- (class_selector (class_name) @name)
38
- (id_selector (id_name) @name)
39
- `,
40
- importBindings: `
41
- (import_statement (string_value) @from) @stmt
42
- (import_statement (_ (string_value) @from)) @stmt
43
- (use_statement (string_value) @from) @stmt
44
- (use_statement (_ (string_value) @from)) @stmt
45
- (forward_statement (string_value) @from) @stmt
46
- (forward_statement (_ (string_value) @from)) @stmt
47
- `,
44
+ locals: `${sassLocalQueries}${cssGraph.locals}`,
45
+ importBindings: `${cssGraph.importBindings}${sassImportQueries}`,
48
46
  },
49
47
  nodeTypes: {
50
48
  identifier: ["identifier", "variable", "class_name", "id_name", "property_name"],
51
49
  },
52
- classifyDefinition: (node) => {
53
- const parent = node.parent?.type;
54
- if (parent === "mixin_statement" || parent === "function_statement")
55
- return "function";
56
- return "variable";
57
- },
50
+ classifyDefinition: classifyByParentType({
51
+ mixin_statement: "function",
52
+ function_statement: "function",
53
+ }),
54
+ isDeclarationName: (node) => isNameFieldOnParent(node, ["mixin_statement", "function_statement"]) ||
55
+ (node.parent?.type === "declaration" && node.type === "property_name" && node.text.startsWith("$")) ||
56
+ // A placeholder in a selector list is a declaration. `@extend %name` is a use;
57
+ // the pinned grammar currently wraps that form in ERROR rather than extend_statement.
58
+ (node.parent?.type === "placeholder" && node.parent.parent?.type === "selectors") ||
59
+ matchesParentTypePairs(node, [
60
+ ["class_selector", "class_name"],
61
+ ["id_selector", "id_name"],
62
+ ]),
63
+ scopeDeclarationNames: "all",
58
64
  };
59
65
  registerLanguage(SCSS_DEF);
60
66
  //# sourceMappingURL=scss.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../src/languages/definitions/scss.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,qBAAqB,EAAE,IAAI;IAC3B,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;YACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE;YAC/C,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE;YAC/C,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE;SACxD;QACD,WAAW,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;QAClE,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;KACpC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;;;;;;;KAOR;QACD,OAAO,EAAE;;;;;KAKR;QACD,MAAM,EAAE;;;;;;;KAOP;QACD,cAAc,EAAE;;;;;;;KAOf;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC;KACjF;IACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;QACjC,IAAI,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,oBAAoB;YAAE,OAAO,UAAU,CAAC;QACvF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC;AACF,gBAAgB,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../../src/languages/definitions/scss.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;AAEhC,MAAM,iBAAiB,GAAG;4CACkB,IAAI,MAAM,IAAI;sCACpB,IAAI,KAAK,IAAI;yCACV,IAAI,MAAM,IAAI;0CACb,IAAI,KAAK,IAAI;6CACV,IAAI,MAAM,IAAI;KACtD,CAAC;AAEN,MAAM,gBAAgB,GAAG;;;;;KAKpB,CAAC;AAEN,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,qBAAqB,EAAE,IAAI;IAC3B,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE;YACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE;YAC/C,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE;YACrD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE;YAC/C,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,EAAE;SACxD;QACD,WAAW,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;QAClE,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;KACpC;IACD,KAAK,EAAE;QACL,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,iBAAiB,EAAE;QAClD,OAAO,EAAE;;;;;KAKR;QACD,MAAM,EAAE,GAAG,gBAAgB,GAAG,QAAQ,CAAC,MAAM,EAAE;QAC/C,cAAc,EAAE,GAAG,QAAQ,CAAC,cAAc,GAAG,iBAAiB,EAAE;KACjE;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC;KACjF;IACD,kBAAkB,EAAE,oBAAoB,CAAC;QACvC,eAAe,EAAE,UAAU;QAC3B,kBAAkB,EAAE,UAAU;KAC/B,CAAC;IACF,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,mBAAmB,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;QACpE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnG,+EAA+E;QAC/E,sFAAsF;QACtF,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,WAAW,CAAC;QACjF,sBAAsB,CAAC,IAAI,EAAE;YAC3B,CAAC,gBAAgB,EAAE,YAAY,CAAC;YAChC,CAAC,aAAa,EAAE,SAAS,CAAC;SAC3B,CAAC;IACJ,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AACF,gBAAgB,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LanguageDefinition } from "../types.js";
2
+ /** Shared Vue/Svelte graph: only the external `<script src>` asset edge. */
3
+ export declare function sfcExternalScriptGraph(): LanguageDefinition["graph"];
4
+ //# sourceMappingURL=sfc-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfc-graph.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/sfc-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAUtD,4EAA4E;AAC5E,wBAAgB,sBAAsB,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAOpE"}
@@ -0,0 +1,16 @@
1
+ import { graphCapture } from "../graph-captures.js";
2
+ const from = graphCapture("from");
3
+ const stmt = graphCapture("stmt");
4
+ const sfcExternalScriptQuery = `
5
+ (script_element (start_tag (attribute (attribute_name) @attr (#eq? @attr "src") (quoted_attribute_value (attribute_value) ${from})))) ${stmt}
6
+ `;
7
+ /** Shared Vue/Svelte graph: only the external `<script src>` asset edge. */
8
+ export function sfcExternalScriptGraph() {
9
+ return {
10
+ imports: sfcExternalScriptQuery,
11
+ exports: "",
12
+ locals: "",
13
+ importBindings: sfcExternalScriptQuery,
14
+ };
15
+ }
16
+ //# sourceMappingURL=sfc-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfc-graph.js","sourceRoot":"","sources":["../../../src/languages/definitions/sfc-graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,sBAAsB,GAAG;kIACmG,IAAI,QAAQ,IAAI;KAC7I,CAAC;AAEN,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,sBAAsB;KACvC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { SyntaxNodeLike } from "../types.js";
2
+ /**
3
+ * Hook shapes repeated across the language definitions: `isDeclarationName` as a
4
+ * parent-name-field check, `classifyDefinition` as a parent-type switch, and the scope
5
+ * predicates as node-type unions. Each definition supplies only its per-language data.
6
+ */
7
+ /** True when `node` is the child named `field` of a parent whose type is listed. */
8
+ export declare function isNameFieldOnParent(node: SyntaxNodeLike, parentTypes: readonly string[], field?: string): boolean;
9
+ /**
10
+ * True when `node` is the `name` child of a listed parent type, falling back to the
11
+ * `property` child for grammars that spell class fields either way.
12
+ */
13
+ export declare function isNameOrPropertyFieldOnParent(node: SyntaxNodeLike, parentTypes: readonly string[]): boolean;
14
+ /** True when `node`'s direct parent has one of the listed types. */
15
+ export declare function hasParentType(node: SyntaxNodeLike, parentTypes: readonly string[]): boolean;
16
+ /**
17
+ * True when `node`'s parent type and its own type form one of the listed pairs, for
18
+ * grammars that name declarations positionally instead of through a `name` field.
19
+ */
20
+ export declare function matchesParentTypePairs(node: SyntaxNodeLike, pairs: readonly (readonly [string, string])[]): boolean;
21
+ /** A classification entry is a kind, or a kind gated on the node being the parent's named field. */
22
+ export type ParentTypeClassification = string | {
23
+ kind: string;
24
+ nameField?: string;
25
+ };
26
+ /**
27
+ * Builds `classifyDefinition` from a parent-type map. Non-matching parents (or a name-field
28
+ * entry whose node is not the field child) classify as `fallback`.
29
+ */
30
+ export declare function classifyByParentType(mapping: Readonly<Record<string, ParentTypeClassification>>, fallback?: string): (node: SyntaxNodeLike) => string;
31
+ /** Node-type membership predicate for `createsBlockScope` / `createsFunctionScope`. */
32
+ export declare function nodeTypeIn(types: readonly string[]): (node: SyntaxNodeLike) => boolean;
33
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;;;GAIG;AAEH,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,SAAS,GAAG,OAAO,CAIjH;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAK3G;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE3F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,OAAO,CAInH;AAED,oGAAoG;AACpG,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,EAC3D,QAAQ,SAAa,GACpB,CAAC,IAAI,EAAE,cAAc,KAAK,MAAM,CAYlC;AAED,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAGtF"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Hook shapes repeated across the language definitions: `isDeclarationName` as a
3
+ * parent-name-field check, `classifyDefinition` as a parent-type switch, and the scope
4
+ * predicates as node-type unions. Each definition supplies only its per-language data.
5
+ */
6
+ /** True when `node` is the child named `field` of a parent whose type is listed. */
7
+ export function isNameFieldOnParent(node, parentTypes, field = "name") {
8
+ const parent = node.parent;
9
+ if (!parent || !parentTypes.includes(parent.type))
10
+ return false;
11
+ return parent.childForFieldName(field)?.id === node.id;
12
+ }
13
+ /**
14
+ * True when `node` is the `name` child of a listed parent type, falling back to the
15
+ * `property` child for grammars that spell class fields either way.
16
+ */
17
+ export function isNameOrPropertyFieldOnParent(node, parentTypes) {
18
+ const parent = node.parent;
19
+ if (!parent || !parentTypes.includes(parent.type))
20
+ return false;
21
+ const name = parent.childForFieldName("name") ?? parent.childForFieldName("property");
22
+ return name?.id === node.id;
23
+ }
24
+ /** True when `node`'s direct parent has one of the listed types. */
25
+ export function hasParentType(node, parentTypes) {
26
+ return parentTypes.includes(node.parent?.type ?? "");
27
+ }
28
+ /**
29
+ * True when `node`'s parent type and its own type form one of the listed pairs, for
30
+ * grammars that name declarations positionally instead of through a `name` field.
31
+ */
32
+ export function matchesParentTypePairs(node, pairs) {
33
+ const parentType = node.parent?.type;
34
+ if (!parentType)
35
+ return false;
36
+ return pairs.some(([parent, child]) => parent === parentType && child === node.type);
37
+ }
38
+ /**
39
+ * Builds `classifyDefinition` from a parent-type map. Non-matching parents (or a name-field
40
+ * entry whose node is not the field child) classify as `fallback`.
41
+ */
42
+ export function classifyByParentType(mapping, fallback = "variable") {
43
+ return (node) => {
44
+ const parent = node.parent;
45
+ if (!parent)
46
+ return fallback;
47
+ const entry = mapping[parent.type];
48
+ if (entry === undefined)
49
+ return fallback;
50
+ if (typeof entry === "string")
51
+ return entry;
52
+ if (entry.nameField !== undefined && parent.childForFieldName(entry.nameField)?.id !== node.id) {
53
+ return fallback;
54
+ }
55
+ return entry.kind;
56
+ };
57
+ }
58
+ /** Node-type membership predicate for `createsBlockScope` / `createsFunctionScope`. */
59
+ export function nodeTypeIn(types) {
60
+ const nodeTypes = new Set(types);
61
+ return (node) => nodeTypes.has(node.type);
62
+ }
63
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/languages/definitions/shared.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,IAAoB,EAAE,WAA8B,EAAE,KAAK,GAAG,MAAM;IACtG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAoB,EAAE,WAA8B;IAChG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtF,OAAO,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,IAAoB,EAAE,WAA8B;IAChF,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAoB,EAAE,KAA6C;IACxG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;IACrC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AACvF,CAAC;AAKD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAA2D,EAC3D,QAAQ,GAAG,UAAU;IAErB,OAAO,CAAC,IAAoB,EAAU,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/F,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,KAAwB;IACjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CAAC,IAAoB,EAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,OAAO,EAAE,kBA8BrB,CAAC"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,OAAO,EAAE,kBA+BrB,CAAC"}
@@ -23,6 +23,7 @@ export const SQL_DEF = {
23
23
  comments: ["comment"],
24
24
  },
25
25
  graph: {
26
+ // SQL has no import specifier node; statements are the only capture.
26
27
  imports: "(statement) @stmt",
27
28
  exports: "",
28
29
  locals: "",
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/languages/definitions/sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAuB;IACzC,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAChD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE;YACtE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,4BAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE;YAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE;YAC1E,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE;YACrE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACnE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;YAClE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACnE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;SAClE;QACD,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,EAAE;KACnB;IACD,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../src/languages/definitions/sql.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,OAAO,GAAuB;IACzC,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAChD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE;YACtE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,4BAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YACvE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,EAAE;YAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE;YAC1E,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE;YACrE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACnE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;YAClE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE;YACnE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE;YAChE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;SAClE;QACD,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,EAAE;QACL,qEAAqE;QACrE,OAAO,EAAE,mBAAmB;QAC5B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,EAAE;KACnB;IACD,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,UAAU,EAAE,kBAyBxB,CAAC"}
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,UAAU,EAAE,kBAgBxB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { registerLanguage } from "../registry.js";
2
+ import { sfcExternalScriptGraph } from "./sfc-graph.js";
2
3
  export const SVELTE_DEF = {
3
4
  id: "svelte",
4
5
  extensions: [".svelte"],
@@ -11,16 +12,7 @@ export const SVELTE_DEF = {
11
12
  splitPoints: ["script_element", "style_element"],
12
13
  comments: ["comment"],
13
14
  },
14
- graph: {
15
- imports: `
16
- (script_element (start_tag (attribute (attribute_name) @attr (#eq? @attr "src") (quoted_attribute_value (attribute_value) @mod)))) @stmt
17
- `,
18
- exports: "",
19
- locals: "",
20
- importBindings: `
21
- (script_element (start_tag (attribute (attribute_name) @attr (#eq? @attr "src") (quoted_attribute_value (attribute_value) @from)))) @stmt
22
- `,
23
- },
15
+ graph: sfcExternalScriptGraph(),
24
16
  nodeTypes: {
25
17
  identifier: ["attribute_value"],
26
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/languages/definitions/svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC5C,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC/C,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE;YAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;SAC1C;QACD,WAAW,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAChD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,EAAE;QACL,OAAO,EAAE;;KAER;QACD,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,cAAc,EAAE;;KAEf;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,iBAAiB,CAAC;KAChC;CACF,CAAC;AACF,gBAAgB,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/languages/definitions/svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC5C,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC/C,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE;YAC7C,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;SAC1C;QACD,WAAW,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAChD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IACD,KAAK,EAAE,sBAAsB,EAAE;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,iBAAiB,CAAC;KAChC;CACF,CAAC;AACF,gBAAgB,CAAC,UAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/swift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,eAAO,MAAM,SAAS,EAAE,kBAqOvB,CAAC"}
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/swift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAItD,eAAO,MAAM,SAAS,EAAE,kBAgPvB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { registerLanguage } from "../registry.js";
2
+ import { isNameFieldOnParent, nodeTypeIn } from "./shared.js";
2
3
  export const SWIFT_DEF = {
3
4
  id: "swift",
4
5
  extensions: [".swift"],
@@ -76,8 +77,12 @@ export const SWIFT_DEF = {
76
77
  comments: ["comment", "multiline_comment"],
77
78
  },
78
79
  graph: {
80
+ // Pinned tree-sitter-swift: the path is always one `identifier` node, including
81
+ // dotted paths (`Foundation.NSString`). Kind keywords (`class`, `struct`, `func`,
82
+ // `enum`, `typealias`) are anonymous. `simple_identifier` is not a child of
83
+ // `import_declaration` (Impossible pattern). No alias or wildcard node.
79
84
  imports: `
80
- (import_declaration (identifier) @mod) @stmt
85
+ (import_declaration (identifier) @from) @stmt
81
86
  `,
82
87
  exports: `
83
88
  (source_file (class_declaration declaration_kind: "class" name: (_) @name))
@@ -138,6 +143,7 @@ export const SWIFT_DEF = {
138
143
  (macro_declaration (simple_identifier) @name)
139
144
  (operator_declaration [(custom_operator) (simple_identifier) (bang)] @name)
140
145
  `,
146
+ // Same path node as `imports`; Swift has no import alias or star token.
141
147
  importBindings: `
142
148
  (import_declaration (identifier) @from) @stmt
143
149
  `,
@@ -179,21 +185,24 @@ export const SWIFT_DEF = {
179
185
  const parent = node.parent;
180
186
  if (!parent)
181
187
  return false;
182
- if (parent.type === "class_declaration" && parent.childForFieldName("name")?.id === node.id)
188
+ if (isNameFieldOnParent(node, ["class_declaration"]))
183
189
  return true;
190
+ // Extension names are wrapped in a user_type node
191
+ // (`extension Container { ... }` -> name: (user_type (type_identifier))).
184
192
  if (parent.type === "user_type" &&
185
193
  parent.parent?.type === "class_declaration" &&
186
194
  parent.parent.childForFieldName("name")?.id === parent.id)
187
195
  return true;
188
- if (parent.type === "protocol_declaration" && parent.childForFieldName("name")?.id === node.id)
189
- return true;
190
- if (parent.type === "enum_entry" && parent.childForFieldName("name")?.id === node.id)
191
- return true;
192
- if (parent.type === "function_declaration" && parent.childForFieldName("name")?.id === node.id)
193
- return true;
194
- if (parent.type === "typealias_declaration" && parent.childForFieldName("name")?.id === node.id)
195
- return true;
196
- if (parent.type === "associatedtype_declaration" && parent.childForFieldName("name")?.id === node.id)
196
+ if (isNameFieldOnParent(node, [
197
+ "protocol_declaration",
198
+ "enum_entry",
199
+ "function_declaration",
200
+ "typealias_declaration",
201
+ "associatedtype_declaration",
202
+ "parameter",
203
+ "protocol_function_declaration",
204
+ "protocol_property_declaration",
205
+ ]))
197
206
  return true;
198
207
  if (parent.type === "macro_declaration" && node.type === "simple_identifier")
199
208
  return true;
@@ -206,30 +215,27 @@ export const SWIFT_DEF = {
206
215
  return true;
207
216
  if (parent.type === "subscript_declaration" && node.type === "subscript")
208
217
  return true;
209
- if (parent.type === "parameter" && parent.childForFieldName("name")?.id === node.id)
210
- return true;
211
- if (parent.type === "protocol_function_declaration" && parent.childForFieldName("name")?.id === node.id)
212
- return true;
213
- if (parent.type === "protocol_property_declaration" && parent.childForFieldName("name")?.id === node.id)
214
- return true;
215
- if (parent.type === "pattern" &&
218
+ return (parent.type === "pattern" &&
216
219
  parent.childForFieldName("bound_identifier")?.id === node.id &&
217
- (parent.parent?.type === "property_declaration" || parent.parent?.type === "protocol_property_declaration"))
218
- return true;
219
- return false;
220
+ (parent.parent?.type === "property_declaration" || parent.parent?.type === "protocol_property_declaration"));
220
221
  },
221
222
  scopeDeclarationNames: "all",
222
- createsFunctionScope: (node) => node.type === "function_declaration" ||
223
- node.type === "init_declaration" ||
224
- node.type === "deinit_declaration" ||
225
- node.type === "subscript_declaration",
226
- createsBlockScope: (node) => node.type === "function_body" ||
227
- node.type === "class_body" ||
228
- node.type === "protocol_body" ||
229
- node.type === "enum_class_body" ||
230
- node.type === "catch_block" ||
231
- node.type === "willset_didset_block",
223
+ createsFunctionScope: nodeTypeIn([
224
+ "function_declaration",
225
+ "init_declaration",
226
+ "deinit_declaration",
227
+ "subscript_declaration",
228
+ ]),
229
+ createsBlockScope: nodeTypeIn([
230
+ "function_body",
231
+ "class_body",
232
+ "protocol_body",
233
+ "enum_class_body",
234
+ "catch_block",
235
+ "willset_didset_block",
236
+ ]),
232
237
  supportsCrossModuleSymbols: true,
238
+ membersAreImplicitlyInScope: true,
233
239
  exportScopeBlockers: ["function_body", "lambda_literal"],
234
240
  };
235
241
  registerLanguage(SWIFT_DEF);
@@ -1 +1 @@
1
- {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../src/languages/definitions/swift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../../src/languages/definitions/swift.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,aAAa,CAAC;AA8NtE,eAAO,MAAM,cAAc,EAAE,kBAa5B,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,kBAoBrB,CAAC"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,aAAa,CAAC;AA4NtE,eAAO,MAAM,cAAc,EAAE,kBAa5B,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,kBAoBrB,CAAC"}