@lzehrung/codegraph 2.3.29 → 2.3.31

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 (324) hide show
  1. package/dist/bin/cli.js +6602 -4453
  2. package/dist/bin/query-index-worker.js +1302 -753
  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 +8 -3
  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/edge-passes.d.ts.map +1 -1
  33. package/dist/graphs/symbol-graph-detailed/edge-passes.js +118 -86
  34. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  35. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +27 -0
  36. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  37. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +509 -42
  38. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  39. package/dist/impact/call-compatibility/providers/index.d.ts +15 -1
  40. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  41. package/dist/impact/call-compatibility/providers/index.js +21 -20
  42. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  43. package/dist/impact/call-compatibility/providers/profiles.d.ts +80 -0
  44. package/dist/impact/call-compatibility/providers/profiles.d.ts.map +1 -0
  45. package/dist/impact/call-compatibility/providers/profiles.js +164 -0
  46. package/dist/impact/call-compatibility/providers/profiles.js.map +1 -0
  47. package/dist/impact/call-compatibility.d.ts.map +1 -1
  48. package/dist/impact/call-compatibility.js +73 -108
  49. package/dist/impact/call-compatibility.js.map +1 -1
  50. package/dist/impact/member-resolution-coverage.d.ts.map +1 -1
  51. package/dist/impact/member-resolution-coverage.js +2 -2
  52. package/dist/impact/member-resolution-coverage.js.map +1 -1
  53. package/dist/indexer/build-cache/manifest.d.ts +7 -0
  54. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  55. package/dist/indexer/build-cache/manifest.js +32 -1
  56. package/dist/indexer/build-cache/manifest.js.map +1 -1
  57. package/dist/indexer/build-cache/options.d.ts +16 -2
  58. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  59. package/dist/indexer/build-cache/options.js +17 -3
  60. package/dist/indexer/build-cache/options.js.map +1 -1
  61. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  62. package/dist/indexer/build-cache/project-snapshot.js +1 -0
  63. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  64. package/dist/indexer/build-index.d.ts.map +1 -1
  65. package/dist/indexer/build-index.js +80 -2
  66. package/dist/indexer/build-index.js.map +1 -1
  67. package/dist/indexer/build-manifest.d.ts +1 -0
  68. package/dist/indexer/build-manifest.d.ts.map +1 -1
  69. package/dist/indexer/build-manifest.js +18 -0
  70. package/dist/indexer/build-manifest.js.map +1 -1
  71. package/dist/indexer/build-workers.js +1 -1
  72. package/dist/indexer/build-workers.js.map +1 -1
  73. package/dist/indexer/declaration-visibility.d.ts +43 -0
  74. package/dist/indexer/declaration-visibility.d.ts.map +1 -0
  75. package/dist/indexer/declaration-visibility.js +202 -0
  76. package/dist/indexer/declaration-visibility.js.map +1 -0
  77. package/dist/indexer/imports/binding-ranges.d.ts +2 -2
  78. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  79. package/dist/indexer/imports/binding-ranges.js +2 -123
  80. package/dist/indexer/imports/binding-ranges.js.map +1 -1
  81. package/dist/indexer/imports/import-binding-tables.d.ts +64 -0
  82. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -0
  83. package/dist/indexer/imports/import-binding-tables.js +419 -0
  84. package/dist/indexer/imports/import-binding-tables.js.map +1 -0
  85. package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
  86. package/dist/indexer/imports/js-text-imports.js +5 -2
  87. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  88. package/dist/indexer/imports/language-specific.d.ts +3 -22
  89. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  90. package/dist/indexer/imports/language-specific.js +54 -573
  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/imports.d.ts.map +1 -1
  100. package/dist/indexer/imports.js +2 -1
  101. package/dist/indexer/imports.js.map +1 -1
  102. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  103. package/dist/indexer/locals-and-exports.js +23 -27
  104. package/dist/indexer/locals-and-exports.js.map +1 -1
  105. package/dist/indexer/navigation-goto.d.ts +1 -7
  106. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  107. package/dist/indexer/navigation-goto.js +181 -381
  108. package/dist/indexer/navigation-goto.js.map +1 -1
  109. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  110. package/dist/indexer/navigation-resolve.js +20 -1
  111. package/dist/indexer/navigation-resolve.js.map +1 -1
  112. package/dist/indexer/navigation.d.ts.map +1 -1
  113. package/dist/indexer/navigation.js +39 -7
  114. package/dist/indexer/navigation.js.map +1 -1
  115. package/dist/indexer/parse-context.js +2 -2
  116. package/dist/indexer/parse-context.js.map +1 -1
  117. package/dist/indexer/scope-nodes.d.ts +108 -0
  118. package/dist/indexer/scope-nodes.d.ts.map +1 -0
  119. package/dist/indexer/scope-nodes.js +238 -0
  120. package/dist/indexer/scope-nodes.js.map +1 -0
  121. package/dist/indexer/scope.d.ts.map +1 -1
  122. package/dist/indexer/scope.js +70 -130
  123. package/dist/indexer/scope.js.map +1 -1
  124. package/dist/indexer/types.d.ts +7 -0
  125. package/dist/indexer/types.d.ts.map +1 -1
  126. package/dist/languages/definitions/c-family.d.ts +18 -4
  127. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  128. package/dist/languages/definitions/c-family.js +51 -13
  129. package/dist/languages/definitions/c-family.js.map +1 -1
  130. package/dist/languages/definitions/c.d.ts.map +1 -1
  131. package/dist/languages/definitions/c.js +7 -43
  132. package/dist/languages/definitions/c.js.map +1 -1
  133. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  134. package/dist/languages/definitions/cpp.js +15 -61
  135. package/dist/languages/definitions/cpp.js.map +1 -1
  136. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  137. package/dist/languages/definitions/csharp.js +46 -52
  138. package/dist/languages/definitions/csharp.js.map +1 -1
  139. package/dist/languages/definitions/css-like.d.ts.map +1 -1
  140. package/dist/languages/definitions/css-like.js +13 -10
  141. package/dist/languages/definitions/css-like.js.map +1 -1
  142. package/dist/languages/definitions/go.d.ts.map +1 -1
  143. package/dist/languages/definitions/go.js +29 -42
  144. package/dist/languages/definitions/go.js.map +1 -1
  145. package/dist/languages/definitions/html.d.ts.map +1 -1
  146. package/dist/languages/definitions/html.js +15 -14
  147. package/dist/languages/definitions/html.js.map +1 -1
  148. package/dist/languages/definitions/java.d.ts.map +1 -1
  149. package/dist/languages/definitions/java.js +42 -48
  150. package/dist/languages/definitions/java.js.map +1 -1
  151. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  152. package/dist/languages/definitions/javascript.js +26 -54
  153. package/dist/languages/definitions/javascript.js.map +1 -1
  154. package/dist/languages/definitions/js-family.d.ts +15 -1
  155. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  156. package/dist/languages/definitions/js-family.js +51 -0
  157. package/dist/languages/definitions/js-family.js.map +1 -1
  158. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  159. package/dist/languages/definitions/kotlin.js +26 -43
  160. package/dist/languages/definitions/kotlin.js.map +1 -1
  161. package/dist/languages/definitions/php.d.ts.map +1 -1
  162. package/dist/languages/definitions/php.js +50 -60
  163. package/dist/languages/definitions/php.js.map +1 -1
  164. package/dist/languages/definitions/python.d.ts.map +1 -1
  165. package/dist/languages/definitions/python.js +23 -14
  166. package/dist/languages/definitions/python.js.map +1 -1
  167. package/dist/languages/definitions/ruby.d.ts.map +1 -1
  168. package/dist/languages/definitions/ruby.js +14 -17
  169. package/dist/languages/definitions/ruby.js.map +1 -1
  170. package/dist/languages/definitions/rust.d.ts.map +1 -1
  171. package/dist/languages/definitions/rust.js +30 -52
  172. package/dist/languages/definitions/rust.js.map +1 -1
  173. package/dist/languages/definitions/scss.d.ts.map +1 -1
  174. package/dist/languages/definitions/scss.js +33 -49
  175. package/dist/languages/definitions/scss.js.map +1 -1
  176. package/dist/languages/definitions/sfc-graph.d.ts +4 -0
  177. package/dist/languages/definitions/sfc-graph.d.ts.map +1 -0
  178. package/dist/languages/definitions/sfc-graph.js +16 -0
  179. package/dist/languages/definitions/sfc-graph.js.map +1 -0
  180. package/dist/languages/definitions/shared.d.ts +33 -0
  181. package/dist/languages/definitions/shared.d.ts.map +1 -0
  182. package/dist/languages/definitions/shared.js +63 -0
  183. package/dist/languages/definitions/shared.js.map +1 -0
  184. package/dist/languages/definitions/sql.d.ts.map +1 -1
  185. package/dist/languages/definitions/sql.js +1 -0
  186. package/dist/languages/definitions/sql.js.map +1 -1
  187. package/dist/languages/definitions/svelte.d.ts.map +1 -1
  188. package/dist/languages/definitions/svelte.js +2 -10
  189. package/dist/languages/definitions/svelte.js.map +1 -1
  190. package/dist/languages/definitions/swift.d.ts.map +1 -1
  191. package/dist/languages/definitions/swift.js +37 -31
  192. package/dist/languages/definitions/swift.js.map +1 -1
  193. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  194. package/dist/languages/definitions/typescript.js +56 -90
  195. package/dist/languages/definitions/typescript.js.map +1 -1
  196. package/dist/languages/definitions/vue.d.ts.map +1 -1
  197. package/dist/languages/definitions/vue.js +2 -10
  198. package/dist/languages/definitions/vue.js.map +1 -1
  199. package/dist/languages/definitions/zig.d.ts.map +1 -1
  200. package/dist/languages/definitions/zig.js +9 -15
  201. package/dist/languages/definitions/zig.js.map +1 -1
  202. package/dist/languages/graph-captures.d.ts +40 -0
  203. package/dist/languages/graph-captures.d.ts.map +1 -0
  204. package/dist/languages/graph-captures.js +46 -0
  205. package/dist/languages/graph-captures.js.map +1 -0
  206. package/dist/languages/import-statement-parsers.d.ts +17 -0
  207. package/dist/languages/import-statement-parsers.d.ts.map +1 -1
  208. package/dist/languages/import-statement-parsers.js +108 -0
  209. package/dist/languages/import-statement-parsers.js.map +1 -1
  210. package/dist/languages/js-family.d.ts +2 -0
  211. package/dist/languages/js-family.d.ts.map +1 -1
  212. package/dist/languages/js-family.js +15 -6
  213. package/dist/languages/js-family.js.map +1 -1
  214. package/dist/languages/types.d.ts +4 -0
  215. package/dist/languages/types.d.ts.map +1 -1
  216. package/dist/languages/types.js +1 -1
  217. package/dist/languages/types.js.map +1 -1
  218. package/dist/languages.js +1 -1
  219. package/dist/languages.js.map +1 -1
  220. package/dist/native/contracts.d.ts +1 -1
  221. package/dist/native/contracts.d.ts.map +1 -1
  222. package/dist/native/js-bridge.d.ts +10 -0
  223. package/dist/native/js-bridge.d.ts.map +1 -1
  224. package/dist/native/js-bridge.js +10 -0
  225. package/dist/native/js-bridge.js.map +1 -1
  226. package/dist/native/native-backend-report.d.ts.map +1 -1
  227. package/dist/native/native-backend-report.js +2 -0
  228. package/dist/native/native-backend-report.js.map +1 -1
  229. package/dist/util/comments.d.ts +7 -7
  230. package/dist/util/comments.d.ts.map +1 -1
  231. package/dist/util/comments.js +15 -214
  232. package/dist/util/comments.js.map +1 -1
  233. package/dist/util/dynamic-import-tables.d.ts +88 -0
  234. package/dist/util/dynamic-import-tables.d.ts.map +1 -0
  235. package/dist/util/dynamic-import-tables.js +100 -0
  236. package/dist/util/dynamic-import-tables.js.map +1 -0
  237. package/dist/util/lines.d.ts.map +1 -1
  238. package/dist/util/lines.js +4 -1
  239. package/dist/util/lines.js.map +1 -1
  240. package/dist/util/member-access-tables.d.ts +72 -0
  241. package/dist/util/member-access-tables.d.ts.map +1 -0
  242. package/dist/util/member-access-tables.js +167 -0
  243. package/dist/util/member-access-tables.js.map +1 -0
  244. package/dist/util/member-access.d.ts +2 -0
  245. package/dist/util/member-access.d.ts.map +1 -1
  246. package/dist/util/member-access.js +61 -95
  247. package/dist/util/member-access.js.map +1 -1
  248. package/dist/util/paths.d.ts +4 -0
  249. package/dist/util/paths.d.ts.map +1 -1
  250. package/dist/util/paths.js +26 -0
  251. package/dist/util/paths.js.map +1 -1
  252. package/dist/util/project-files.js +1 -1
  253. package/dist/util/project-files.js.map +1 -1
  254. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  255. package/dist/util/resolution/cargo-targets.js +17 -14
  256. package/dist/util/resolution/cargo-targets.js.map +1 -1
  257. package/dist/util/resolution/cpp.d.ts +6 -0
  258. package/dist/util/resolution/cpp.d.ts.map +1 -0
  259. package/dist/util/resolution/cpp.js +69 -0
  260. package/dist/util/resolution/cpp.js.map +1 -0
  261. package/dist/util/resolution/csharp.d.ts +4 -3
  262. package/dist/util/resolution/csharp.d.ts.map +1 -1
  263. package/dist/util/resolution/csharp.js +27 -113
  264. package/dist/util/resolution/csharp.js.map +1 -1
  265. package/dist/util/resolution/files.d.ts +6 -0
  266. package/dist/util/resolution/files.d.ts.map +1 -1
  267. package/dist/util/resolution/files.js +108 -4
  268. package/dist/util/resolution/files.js.map +1 -1
  269. package/dist/util/resolution/go.d.ts +1 -0
  270. package/dist/util/resolution/go.d.ts.map +1 -1
  271. package/dist/util/resolution/go.js +4 -3
  272. package/dist/util/resolution/go.js.map +1 -1
  273. package/dist/util/resolution/jvm.d.ts +3 -3
  274. package/dist/util/resolution/jvm.d.ts.map +1 -1
  275. package/dist/util/resolution/jvm.js +90 -54
  276. package/dist/util/resolution/jvm.js.map +1 -1
  277. package/dist/util/resolution/node.js +2 -2
  278. package/dist/util/resolution/node.js.map +1 -1
  279. package/dist/util/resolution/php-composer.d.ts.map +1 -1
  280. package/dist/util/resolution/php-composer.js +8 -7
  281. package/dist/util/resolution/php-composer.js.map +1 -1
  282. package/dist/util/resolution/php.d.ts.map +1 -1
  283. package/dist/util/resolution/php.js +30 -43
  284. package/dist/util/resolution/php.js.map +1 -1
  285. package/dist/util/resolution/project-symbols.d.ts +5 -7
  286. package/dist/util/resolution/project-symbols.d.ts.map +1 -1
  287. package/dist/util/resolution/project-symbols.js +23 -9
  288. package/dist/util/resolution/project-symbols.js.map +1 -1
  289. package/dist/util/resolution/python.d.ts.map +1 -1
  290. package/dist/util/resolution/python.js +107 -62
  291. package/dist/util/resolution/python.js.map +1 -1
  292. package/dist/util/resolution/rust.d.ts.map +1 -1
  293. package/dist/util/resolution/rust.js +45 -34
  294. package/dist/util/resolution/rust.js.map +1 -1
  295. package/dist/util/resolution/tsconfig.d.ts.map +1 -1
  296. package/dist/util/resolution/tsconfig.js +3 -9
  297. package/dist/util/resolution/tsconfig.js.map +1 -1
  298. package/dist/util/resolution-candidates.d.ts +5 -1
  299. package/dist/util/resolution-candidates.d.ts.map +1 -1
  300. package/dist/util/resolution-candidates.js +18 -0
  301. package/dist/util/resolution-candidates.js.map +1 -1
  302. package/dist/util/resolution.d.ts.map +1 -1
  303. package/dist/util/resolution.js +93 -49
  304. package/dist/util/resolution.js.map +1 -1
  305. package/dist/util/specifiers.d.ts +4 -10
  306. package/dist/util/specifiers.d.ts.map +1 -1
  307. package/dist/util/specifiers.js +131 -165
  308. package/dist/util/specifiers.js.map +1 -1
  309. package/dist/util/trivia-tables.d.ts +69 -0
  310. package/dist/util/trivia-tables.d.ts.map +1 -0
  311. package/dist/util/trivia-tables.js +186 -0
  312. package/dist/util/trivia-tables.js.map +1 -0
  313. package/dist/util/trivia.d.ts +24 -0
  314. package/dist/util/trivia.d.ts.map +1 -0
  315. package/dist/util/trivia.js +621 -0
  316. package/dist/util/trivia.js.map +1 -0
  317. package/dist/util.d.ts +1 -1
  318. package/dist/util.d.ts.map +1 -1
  319. package/dist/util.js +1 -1
  320. package/dist/util.js.map +1 -1
  321. package/dist/worker/native-extract-worker.d.ts.map +1 -1
  322. package/dist/worker/native-extract-worker.js +4 -4
  323. package/dist/worker/native-extract-worker.js.map +1 -1
  324. package/package.json +3 -3
@@ -0,0 +1,69 @@
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
+ export type TriviaInterpolation = {
12
+ /** Interpolation start delimiter, e.g. `${` or `\(`. */
13
+ start: string;
14
+ /** Interpolation end delimiter, e.g. `}` or `)`. */
15
+ end: string;
16
+ /** Doubled delimiters are literals rather than nesting (Python f-strings). */
17
+ doubled?: boolean;
18
+ /** The expression between the delimiters stays visible in span masks (JS template holes). */
19
+ excludeFromMask?: boolean;
20
+ };
21
+ export type TriviaStringForm = {
22
+ /** Sticky-regex source matching the optional prefix immediately before `open` (Python b/r/u/f, Rust b/c). */
23
+ prefix?: string;
24
+ /** Opening delimiter. */
25
+ open: string;
26
+ /** Closing delimiter; hash runs and quote runs are matched dynamically when the flags below are set. */
27
+ close: string;
28
+ /** Escape character inside the literal; omit for raw literals. */
29
+ escape?: string;
30
+ /** A doubled close delimiter escapes it (C# verbatim `""`). */
31
+ doubled?: boolean;
32
+ /** A `#` run between the prefix and `open` must be matched after `close` (Swift extended delimiters, Rust raw strings). */
33
+ hashes?: boolean;
34
+ /** The open and close are runs of `open[0]` at least `open.length` long (C# raw strings). */
35
+ quoteRun?: boolean;
36
+ /** The close delimiter only closes when it is alone on its line (Swift multiline strings). */
37
+ closeAloneOnLine?: boolean;
38
+ /** The quote only opens a literal when it parses as a character literal (Rust lifetimes are not chars). */
39
+ charLike?: boolean;
40
+ /** Interpolation regions scanned recursively so a nested same-quote literal cannot close the string. */
41
+ interpolation?: TriviaInterpolation;
42
+ };
43
+ export type TriviaBlockComment = {
44
+ open: string;
45
+ close: string;
46
+ nested?: boolean;
47
+ /** The opener is only a comment at the very start of a line (Ruby `=begin`). */
48
+ lineStartOnly?: boolean;
49
+ };
50
+ export type TriviaHeredocForm = {
51
+ /** Sticky-regex source matching the opener through the terminator id; capture 1 is the terminator id. */
52
+ opener: string;
53
+ /** The terminator may be indented (PHP 7.3+, Ruby `<<~` and `<<-`). */
54
+ indentedTerminator?: boolean;
55
+ };
56
+ export type TriviaRow = {
57
+ lineComments: string[];
58
+ blockComments: TriviaBlockComment[];
59
+ strings: TriviaStringForm[];
60
+ heredocs?: TriviaHeredocForm[];
61
+ /** Ruby percent literals (`%q(...)`, `%w[...]`, ...). */
62
+ percentLiterals?: boolean;
63
+ /** Zig multiline strings: backslash-prefixed continuation lines. */
64
+ zigMultiline?: boolean;
65
+ };
66
+ /** The trivia row for `languageId`; unknown ids fall back to the JS-family row, which is what
67
+ * every consumer used before the per-language tables existed. */
68
+ export declare function triviaRowFor(languageId: string): TriviaRow;
69
+ //# sourceMappingURL=trivia-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trivia-tables.d.ts","sourceRoot":"","sources":["../../src/util/trivia-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6FAA6F;IAC7F,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6GAA6G;IAC7G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,wGAAwG;IACxG,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2HAA2H;IAC3H,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wGAAwG;IACxG,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yGAAyG;IACzG,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,yDAAyD;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAgMF;iEACiE;AACjE,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAE1D"}
@@ -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"}