@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
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Per-language trivia tables for the offset-preserving trivia scanner in `./trivia.js`. Rows are
3
+ * keyed by language id; the tables deliberately live outside `LanguageDefinition` because the
4
+ * language definitions are frozen this wave.
5
+ *
6
+ * Every row is written against the actual language grammar, not against whatever the previous
7
+ * JS-flavored masker happened to accept: a Go raw string has no escape character, a C# verbatim
8
+ * string doubles its closing quote instead of honoring backslash escapes, a Python comment can
9
+ * contain apostrophes, and so on.
10
+ */
11
+ const SLASH_STAR_COMMENT = { open: "/*", close: "*/" };
12
+ const NESTED_SLASH_STAR_COMMENT = { open: "/*", close: "*/", nested: true };
13
+ const JS_LIKE_ROW = {
14
+ lineComments: ["//"],
15
+ blockComments: [SLASH_STAR_COMMENT],
16
+ strings: [
17
+ { open: "'", close: "'", escape: "\\" },
18
+ { open: '"', close: '"', escape: "\\" },
19
+ { open: "`", close: "`", escape: "\\", interpolation: { start: "${", end: "}", excludeFromMask: true } },
20
+ ],
21
+ };
22
+ // Prefix combinations valid for Python string literals; `f` enables interpolation.
23
+ const PYTHON_F_PREFIX = "(?:[fF]|[rR][fF]|[fF][rR])";
24
+ const PYTHON_PLAIN_PREFIX = "(?:[bBuU]|[bB][rR]|[rR][bB])?";
25
+ const PYTHON_INTERPOLATION = { start: "{", end: "}", doubled: true };
26
+ const PYTHON_ROW = {
27
+ lineComments: ["#"],
28
+ blockComments: [],
29
+ strings: [
30
+ { prefix: PYTHON_F_PREFIX, open: '"""', close: '"""', escape: "\\", interpolation: PYTHON_INTERPOLATION },
31
+ { prefix: PYTHON_F_PREFIX, open: "'''", close: "'''", escape: "\\", interpolation: PYTHON_INTERPOLATION },
32
+ { prefix: PYTHON_F_PREFIX, open: '"', close: '"', escape: "\\", interpolation: PYTHON_INTERPOLATION },
33
+ { prefix: PYTHON_F_PREFIX, open: "'", close: "'", escape: "\\", interpolation: PYTHON_INTERPOLATION },
34
+ { prefix: PYTHON_PLAIN_PREFIX, open: '"""', close: '"""', escape: "\\" },
35
+ { prefix: PYTHON_PLAIN_PREFIX, open: "'''", close: "'''", escape: "\\" },
36
+ { prefix: PYTHON_PLAIN_PREFIX, open: '"', close: '"', escape: "\\" },
37
+ { prefix: PYTHON_PLAIN_PREFIX, open: "'", close: "'", escape: "\\" },
38
+ ],
39
+ };
40
+ const CSHARP_ROW = {
41
+ lineComments: ["//"],
42
+ blockComments: [SLASH_STAR_COMMENT],
43
+ strings: [
44
+ // A verbatim (or interpolated verbatim) string doubles its closing quote; the backslash is data.
45
+ { prefix: "(?:[$][@]|[@][$]|[@])", open: '"', close: '"', doubled: true },
46
+ { open: '"""', close: '"""', quoteRun: true },
47
+ { open: '"', close: '"', escape: "\\" },
48
+ { open: "'", close: "'", escape: "\\" },
49
+ ],
50
+ };
51
+ const GO_ROW = {
52
+ lineComments: ["//"],
53
+ blockComments: [SLASH_STAR_COMMENT],
54
+ strings: [
55
+ { open: "`", close: "`" },
56
+ { open: '"', close: '"', escape: "\\" },
57
+ { open: "'", close: "'", escape: "\\" },
58
+ ],
59
+ };
60
+ const RUST_ROW = {
61
+ lineComments: ["//"],
62
+ blockComments: [NESTED_SLASH_STAR_COMMENT],
63
+ strings: [
64
+ { prefix: "[bc]?r", open: '"', close: '"', hashes: true },
65
+ { prefix: "b?", open: '"', close: '"', escape: "\\" },
66
+ { prefix: "b?", open: "'", close: "'", escape: "\\", charLike: true },
67
+ ],
68
+ };
69
+ const PHP_HEREDOC_OPENER = "<<<[ \\t]*(?:\"([^\"\\r\\n]*)\"|'([^'\\r\\n]*)'|([A-Za-z_]\\w*))";
70
+ const PHP_ROW = {
71
+ lineComments: ["//", "#"],
72
+ blockComments: [SLASH_STAR_COMMENT],
73
+ strings: [
74
+ { open: "'", close: "'", escape: "\\" },
75
+ { open: '"', close: '"', escape: "\\" },
76
+ ],
77
+ heredocs: [{ opener: PHP_HEREDOC_OPENER, indentedTerminator: true }],
78
+ };
79
+ const RUBY_HEREDOC_ID = "(?:\"([^\"\\r\\n]*)\"|'([^'\\r\\n]*)'|([A-Za-z_]\\w*))";
80
+ const RUBY_ROW = {
81
+ lineComments: ["#"],
82
+ blockComments: [{ open: "=begin", close: "=end", lineStartOnly: true }],
83
+ strings: [
84
+ { open: '"', close: '"', escape: "\\" },
85
+ { open: "'", close: "'", escape: "\\" },
86
+ ],
87
+ heredocs: [
88
+ { opener: `<<[~-]${RUBY_HEREDOC_ID}`, indentedTerminator: true },
89
+ { opener: `<<${RUBY_HEREDOC_ID}`, indentedTerminator: false },
90
+ ],
91
+ percentLiterals: true,
92
+ };
93
+ const SWIFT_INTERPOLATION = { start: "\\(", end: ")" };
94
+ const SWIFT_ROW = {
95
+ lineComments: ["//"],
96
+ blockComments: [NESTED_SLASH_STAR_COMMENT],
97
+ strings: [
98
+ { open: '"""', close: '"""', escape: "\\", closeAloneOnLine: true, interpolation: SWIFT_INTERPOLATION },
99
+ { open: '"', close: '"', escape: "\\", interpolation: SWIFT_INTERPOLATION },
100
+ { hashes: true, open: '"""', close: '"""', closeAloneOnLine: true },
101
+ { hashes: true, open: '"', close: '"' },
102
+ ],
103
+ };
104
+ const KOTLIN_ROW = {
105
+ lineComments: ["//"],
106
+ blockComments: [NESTED_SLASH_STAR_COMMENT],
107
+ strings: [
108
+ { open: '"""', close: '"""', interpolation: { start: "${", end: "}" } },
109
+ { open: '"', close: '"', escape: "\\", interpolation: { start: "${", end: "}" } },
110
+ { open: "'", close: "'", escape: "\\" },
111
+ ],
112
+ };
113
+ const ZIG_ROW = {
114
+ lineComments: ["//"],
115
+ blockComments: [],
116
+ strings: [
117
+ { open: '"', close: '"', escape: "\\" },
118
+ { open: "'", close: "'", escape: "\\" },
119
+ ],
120
+ zigMultiline: true,
121
+ };
122
+ // CSS family: block comments only. `//` is SCSS/Less comment syntax, but an unquoted `url(//...)`
123
+ // is not, so a line comment would blank real declarations.
124
+ const CSS_FAMILY_ROW = {
125
+ lineComments: [],
126
+ blockComments: [SLASH_STAR_COMMENT],
127
+ strings: [
128
+ { open: "'", close: "'", escape: "\\" },
129
+ { open: '"', close: '"', escape: "\\" },
130
+ ],
131
+ };
132
+ const C_FAMILY_ROW = {
133
+ lineComments: ["//"],
134
+ blockComments: [SLASH_STAR_COMMENT],
135
+ strings: [
136
+ { open: '"', close: '"', escape: "\\" },
137
+ { open: "'", close: "'", escape: "\\" },
138
+ ],
139
+ };
140
+ const JAVA_ROW = {
141
+ lineComments: ["//"],
142
+ blockComments: [SLASH_STAR_COMMENT],
143
+ strings: [
144
+ { open: '"""', close: '"""', escape: "\\" },
145
+ { open: '"', close: '"', escape: "\\" },
146
+ { open: "'", close: "'", escape: "\\" },
147
+ ],
148
+ };
149
+ const SQL_ROW = {
150
+ lineComments: ["--"],
151
+ blockComments: [SLASH_STAR_COMMENT],
152
+ strings: [
153
+ { open: "'", close: "'", doubled: true },
154
+ { open: '"', close: '"', doubled: true },
155
+ ],
156
+ };
157
+ const TRIVIA_ROWS = {
158
+ js: JS_LIKE_ROW,
159
+ ts: JS_LIKE_ROW,
160
+ tsx: JS_LIKE_ROW,
161
+ javascript: JS_LIKE_ROW,
162
+ typescript: JS_LIKE_ROW,
163
+ jsx: JS_LIKE_ROW,
164
+ python: PYTHON_ROW,
165
+ csharp: CSHARP_ROW,
166
+ go: GO_ROW,
167
+ rust: RUST_ROW,
168
+ php: PHP_ROW,
169
+ ruby: RUBY_ROW,
170
+ swift: SWIFT_ROW,
171
+ kotlin: KOTLIN_ROW,
172
+ zig: ZIG_ROW,
173
+ css: CSS_FAMILY_ROW,
174
+ less: CSS_FAMILY_ROW,
175
+ scss: CSS_FAMILY_ROW,
176
+ c: C_FAMILY_ROW,
177
+ cpp: C_FAMILY_ROW,
178
+ java: JAVA_ROW,
179
+ sql: SQL_ROW,
180
+ };
181
+ /** The trivia row for `languageId`; unknown ids fall back to the JS-family row, which is what
182
+ * every consumer used before the per-language tables existed. */
183
+ export function triviaRowFor(languageId) {
184
+ return TRIVIA_ROWS[languageId] ?? JS_LIKE_ROW;
185
+ }
186
+ //# sourceMappingURL=trivia-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trivia-tables.js","sourceRoot":"","sources":["../../src/util/trivia-tables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type TriviaMaskOptions = {
2
+ /** Mask string literals in addition to comments; defaults to true. */
3
+ maskStrings?: boolean;
4
+ /** Leave interpolation expression content unmarked (JS template holes for literal masks). */
5
+ holes?: boolean;
6
+ };
7
+ /**
8
+ * Builds a UTF-16-unit mask over `source` marking comments and (when `maskStrings`) string
9
+ * literals for `languageId`'s trivia row. With `holes`, only the literal shell of an
10
+ * interpolation is marked and the expression inside stays visible; without it, the entire
11
+ * literal is marked. Masked content is replaced one-for-one by callers, so astral characters
12
+ * occupy two marked units and every later offset is preserved.
13
+ */
14
+ export declare function buildTriviaMask(source: string, languageId: string, options?: TriviaMaskOptions): Uint8Array;
15
+ /** Blanks comments and string-literal bodies in place: every masked unit becomes a space, `\r`
16
+ * and `\n` are preserved, and the output length always equals the input length. String
17
+ * delimiters (quotes, prefixes, hash runs, heredoc introducers and terminators, Zig `\\`
18
+ * line prefixes) stay visible so consumers can match `from "..."`-shaped regexes over the
19
+ * masked text; only the literal body is blanked. */
20
+ export declare function maskTrivia(source: string, languageId: string, options?: TriviaMaskOptions): string;
21
+ /** Deletes comments and string literals outright (delimiters included); the output is NOT
22
+ * offset-preserving. */
23
+ export declare function stripTrivia(source: string, languageId: string, options?: TriviaMaskOptions): string;
24
+ //# sourceMappingURL=trivia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trivia.d.ts","sourceRoot":"","sources":["../../src/util/trivia.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAK3G;AAED;;;;oDAIoD;AACpD,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAWlG;AAED;wBACwB;AACxB,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAgBnG"}