@lzehrung/codegraph 2.3.24 → 2.3.25

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 (181) hide show
  1. package/README.md +1 -1
  2. package/codegraph-skill/codegraph/SKILL.md +1 -1
  3. package/dist/bin/cli.js +3420 -1620
  4. package/dist/bin/query-index-worker.js +569 -229
  5. package/dist/cli/context.d.ts.map +1 -1
  6. package/dist/cli/context.js +7 -4
  7. package/dist/cli/context.js.map +1 -1
  8. package/dist/cli/doctor.d.ts +1 -0
  9. package/dist/cli/doctor.d.ts.map +1 -1
  10. package/dist/cli/doctor.js +8 -1
  11. package/dist/cli/doctor.js.map +1 -1
  12. package/dist/document-links/asciidoc.d.ts.map +1 -1
  13. package/dist/document-links/asciidoc.js +33 -0
  14. package/dist/document-links/asciidoc.js.map +1 -1
  15. package/dist/document-links/language-ids.d.ts +10 -0
  16. package/dist/document-links/language-ids.d.ts.map +1 -0
  17. package/dist/document-links/language-ids.js +15 -0
  18. package/dist/document-links/language-ids.js.map +1 -0
  19. package/dist/document-links/markdown.d.ts.map +1 -1
  20. package/dist/document-links/markdown.js +103 -21
  21. package/dist/document-links/markdown.js.map +1 -1
  22. package/dist/document-links/shared.d.ts.map +1 -1
  23. package/dist/document-links/shared.js +1 -0
  24. package/dist/document-links/shared.js.map +1 -1
  25. package/dist/document-links.d.ts +1 -3
  26. package/dist/document-links.d.ts.map +1 -1
  27. package/dist/document-links.js +1 -8
  28. package/dist/document-links.js.map +1 -1
  29. package/dist/duplicates/unit-cache.d.ts +1 -1
  30. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  31. package/dist/duplicates/unit-cache.js +4 -1
  32. package/dist/duplicates/unit-cache.js.map +1 -1
  33. package/dist/duplicates/units.d.ts +1 -0
  34. package/dist/duplicates/units.d.ts.map +1 -1
  35. package/dist/duplicates/units.js +55 -10
  36. package/dist/duplicates/units.js.map +1 -1
  37. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  38. package/dist/graphs/edge-resolution.js +3 -0
  39. package/dist/graphs/edge-resolution.js.map +1 -1
  40. package/dist/graphs/external/stdlib.d.ts.map +1 -1
  41. package/dist/graphs/external/stdlib.js +18 -11
  42. package/dist/graphs/external/stdlib.js.map +1 -1
  43. package/dist/graphs/specifiers.d.ts +3 -2
  44. package/dist/graphs/specifiers.d.ts.map +1 -1
  45. package/dist/graphs/specifiers.js +76 -39
  46. package/dist/graphs/specifiers.js.map +1 -1
  47. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +1 -1
  48. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  49. package/dist/indexer/build-cache/options.d.ts +8 -2
  50. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  51. package/dist/indexer/build-cache/options.js +10 -2
  52. package/dist/indexer/build-cache/options.js.map +1 -1
  53. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  54. package/dist/indexer/build-cache/reports.js +29 -21
  55. package/dist/indexer/build-cache/reports.js.map +1 -1
  56. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  57. package/dist/indexer/expand-star-imports.js +8 -3
  58. package/dist/indexer/expand-star-imports.js.map +1 -1
  59. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  60. package/dist/indexer/imports/language-specific.js +166 -32
  61. package/dist/indexer/imports/language-specific.js.map +1 -1
  62. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  63. package/dist/indexer/imports/native-captures.js +4 -3
  64. package/dist/indexer/imports/native-captures.js.map +1 -1
  65. package/dist/indexer/imports/python.d.ts +2 -0
  66. package/dist/indexer/imports/python.d.ts.map +1 -1
  67. package/dist/indexer/imports/python.js +113 -8
  68. package/dist/indexer/imports/python.js.map +1 -1
  69. package/dist/indexer/imports.d.ts.map +1 -1
  70. package/dist/indexer/imports.js +25 -12
  71. package/dist/indexer/imports.js.map +1 -1
  72. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  73. package/dist/indexer/locals-and-exports.js +153 -38
  74. package/dist/indexer/locals-and-exports.js.map +1 -1
  75. package/dist/indexer/navigation-goto.js +1 -1
  76. package/dist/indexer/navigation-goto.js.map +1 -1
  77. package/dist/indexer/scope-types.d.ts +1 -1
  78. package/dist/indexer/scope-types.d.ts.map +1 -1
  79. package/dist/indexer/scope.d.ts.map +1 -1
  80. package/dist/indexer/scope.js +43 -2
  81. package/dist/indexer/scope.js.map +1 -1
  82. package/dist/languages/definitions/c-family.d.ts +5 -0
  83. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  84. package/dist/languages/definitions/c-family.js +27 -6
  85. package/dist/languages/definitions/c-family.js.map +1 -1
  86. package/dist/languages/definitions/c.d.ts.map +1 -1
  87. package/dist/languages/definitions/c.js +5 -0
  88. package/dist/languages/definitions/c.js.map +1 -1
  89. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  90. package/dist/languages/definitions/cpp.js +41 -3
  91. package/dist/languages/definitions/cpp.js.map +1 -1
  92. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  93. package/dist/languages/definitions/csharp.js +52 -21
  94. package/dist/languages/definitions/csharp.js.map +1 -1
  95. package/dist/languages/definitions/go.d.ts.map +1 -1
  96. package/dist/languages/definitions/go.js +10 -7
  97. package/dist/languages/definitions/go.js.map +1 -1
  98. package/dist/languages/definitions/html-stub.d.ts +6 -7
  99. package/dist/languages/definitions/html-stub.d.ts.map +1 -1
  100. package/dist/languages/definitions/html-stub.js +6 -7
  101. package/dist/languages/definitions/html-stub.js.map +1 -1
  102. package/dist/languages/definitions/html.js +13 -13
  103. package/dist/languages/definitions/html.js.map +1 -1
  104. package/dist/languages/definitions/java.d.ts.map +1 -1
  105. package/dist/languages/definitions/java.js +6 -0
  106. package/dist/languages/definitions/java.js.map +1 -1
  107. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  108. package/dist/languages/definitions/javascript.js +48 -30
  109. package/dist/languages/definitions/javascript.js.map +1 -1
  110. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  111. package/dist/languages/definitions/kotlin.js +49 -61
  112. package/dist/languages/definitions/kotlin.js.map +1 -1
  113. package/dist/languages/definitions/php.js +1 -1
  114. package/dist/languages/definitions/php.js.map +1 -1
  115. package/dist/languages/definitions/python.d.ts.map +1 -1
  116. package/dist/languages/definitions/python.js +85 -20
  117. package/dist/languages/definitions/python.js.map +1 -1
  118. package/dist/languages/definitions/ruby.d.ts.map +1 -1
  119. package/dist/languages/definitions/ruby.js +13 -11
  120. package/dist/languages/definitions/ruby.js.map +1 -1
  121. package/dist/languages/definitions/rust.d.ts.map +1 -1
  122. package/dist/languages/definitions/rust.js +22 -5
  123. package/dist/languages/definitions/rust.js.map +1 -1
  124. package/dist/languages/definitions/scss.d.ts.map +1 -1
  125. package/dist/languages/definitions/scss.js +21 -17
  126. package/dist/languages/definitions/scss.js.map +1 -1
  127. package/dist/languages/definitions/sql.js +1 -1
  128. package/dist/languages/definitions/sql.js.map +1 -1
  129. package/dist/languages/definitions/swift.d.ts.map +1 -1
  130. package/dist/languages/definitions/swift.js +66 -16
  131. package/dist/languages/definitions/swift.js.map +1 -1
  132. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  133. package/dist/languages/definitions/typescript.js +30 -9
  134. package/dist/languages/definitions/typescript.js.map +1 -1
  135. package/dist/languages/definitions/zig.d.ts.map +1 -1
  136. package/dist/languages/definitions/zig.js +26 -5
  137. package/dist/languages/definitions/zig.js.map +1 -1
  138. package/dist/languages/import-statement-parsers.d.ts +14 -1
  139. package/dist/languages/import-statement-parsers.d.ts.map +1 -1
  140. package/dist/languages/import-statement-parsers.js +473 -45
  141. package/dist/languages/import-statement-parsers.js.map +1 -1
  142. package/dist/languages/types.d.ts +11 -0
  143. package/dist/languages/types.d.ts.map +1 -1
  144. package/dist/languages.d.ts +1 -0
  145. package/dist/languages.d.ts.map +1 -1
  146. package/dist/languages.js +9 -2
  147. package/dist/languages.js.map +1 -1
  148. package/dist/native/backend-report-format.d.ts +4 -0
  149. package/dist/native/backend-report-format.d.ts.map +1 -0
  150. package/dist/native/backend-report-format.js +14 -0
  151. package/dist/native/backend-report-format.js.map +1 -0
  152. package/dist/native/contracts.d.ts +2 -0
  153. package/dist/native/contracts.d.ts.map +1 -1
  154. package/dist/util/comments.js +1 -1
  155. package/dist/util/comments.js.map +1 -1
  156. package/dist/util/member-access.d.ts +1 -1
  157. package/dist/util/member-access.d.ts.map +1 -1
  158. package/dist/util/member-access.js +5 -2
  159. package/dist/util/member-access.js.map +1 -1
  160. package/dist/util/project-files.js +1 -1
  161. package/dist/util/project-files.js.map +1 -1
  162. package/dist/util/resolution/rust.d.ts +8 -1
  163. package/dist/util/resolution/rust.d.ts.map +1 -1
  164. package/dist/util/resolution/rust.js +521 -7
  165. package/dist/util/resolution/rust.js.map +1 -1
  166. package/dist/util/resolution-candidates.d.ts +1 -1
  167. package/dist/util/resolution-candidates.d.ts.map +1 -1
  168. package/dist/util/resolution-candidates.js +11 -8
  169. package/dist/util/resolution-candidates.js.map +1 -1
  170. package/dist/util/resolution.d.ts +5 -0
  171. package/dist/util/resolution.d.ts.map +1 -1
  172. package/dist/util/resolution.js +18 -7
  173. package/dist/util/resolution.js.map +1 -1
  174. package/dist/util/rust-test-modules.d.ts.map +1 -1
  175. package/dist/util/rust-test-modules.js +2 -5
  176. package/dist/util/rust-test-modules.js.map +1 -1
  177. package/dist/util/specifiers.d.ts +8 -0
  178. package/dist/util/specifiers.d.ts.map +1 -1
  179. package/dist/util/specifiers.js +33 -7
  180. package/dist/util/specifiers.js.map +1 -1
  181. package/package.json +3 -3
@@ -1,14 +1,8 @@
1
1
  import { registerLanguage } from "../registry.js";
2
- const SCSS_SYMBOL_QUERY_PATTERNS = [
3
- "(mixin_statement (name) @name)",
4
- "(function_statement (name) @name)",
5
- "(variable_declaration (variable) @name)",
6
- "(class_selector (class_name) @name)",
7
- "(id_selector (id_name) @name)",
8
- ];
9
2
  export const SCSS_DEF = {
10
3
  id: "scss",
11
4
  extensions: [".scss"],
5
+ usesQueryDrivenLocals: true,
12
6
  structure: {
13
7
  blocks: [
14
8
  { type: "rule_set", captureId: "rule" },
@@ -23,33 +17,43 @@ export const SCSS_DEF = {
23
17
  graph: {
24
18
  imports: `
25
19
  (import_statement (string_value) @mod) @stmt
20
+ (import_statement (_ (string_value) @mod)) @stmt
26
21
  (use_statement (string_value) @mod) @stmt
22
+ (use_statement (_ (string_value) @mod)) @stmt
27
23
  (forward_statement (string_value) @mod) @stmt
24
+ (forward_statement (_ (string_value) @mod)) @stmt
28
25
  `,
29
26
  exports: `
30
- (mixin_statement (name) @name)
31
- (function_statement (name) @name)
32
- (variable_declaration (variable) @name)
27
+ (stylesheet (mixin_statement name: (identifier) @name))
28
+ (stylesheet (function_statement name: (identifier) @name))
29
+ ((stylesheet (declaration (property_name) @name)) (#match? @name "^[$]"))
30
+ (stylesheet (rule_set (selectors (placeholder (identifier) @name))))
33
31
  `,
34
32
  locals: `
35
- (mixin_statement (name) @name)
36
- (function_statement (name) @name)
37
- (variable_declaration (variable) @name)
33
+ (mixin_statement name: (identifier) @name)
34
+ (function_statement name: (identifier) @name)
35
+ ((declaration (property_name) @name) (#match? @name "^[$]"))
36
+ (placeholder (identifier) @name)
38
37
  (class_selector (class_name) @name)
39
38
  (id_selector (id_name) @name)
40
39
  `,
41
40
  importBindings: `
42
41
  (import_statement (string_value) @from) @stmt
42
+ (import_statement (_ (string_value) @from)) @stmt
43
43
  (use_statement (string_value) @from) @stmt
44
+ (use_statement (_ (string_value) @from)) @stmt
44
45
  (forward_statement (string_value) @from) @stmt
46
+ (forward_statement (_ (string_value) @from)) @stmt
45
47
  `,
46
48
  },
47
49
  nodeTypes: {
48
- identifier: ["name", "variable", "class_name", "id_name"],
50
+ identifier: ["identifier", "variable", "class_name", "id_name", "property_name"],
49
51
  },
50
- native: {
51
- normalizeQuery: (_kind, query) => SCSS_SYMBOL_QUERY_PATTERNS.some((pattern) => query.includes(pattern)) ? "" : query,
52
- notes: ["skips unsupported SCSS symbol queries in the native runtime"],
52
+ classifyDefinition: (node) => {
53
+ const parent = node.parent?.type;
54
+ if (parent === "mixin_statement" || parent === "function_statement")
55
+ return "function";
56
+ return "variable";
53
57
  },
54
58
  };
55
59
  registerLanguage(SCSS_DEF);
@@ -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,0BAA0B,GAAG;IACjC,gCAAgC;IAChC,mCAAmC;IACnC,yCAAyC;IACzC,qCAAqC;IACrC,+BAA+B;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,QAAQ,GAAuB;IAC1C,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,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;;;;KAIR;QACD,OAAO,EAAE;;;;KAIR;QACD,MAAM,EAAE;;;;;;KAMP;QACD,cAAc,EAAE;;;;KAIf;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC;KAC1D;IACD,MAAM,EAAE;QACN,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC/B,0BAA0B,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;QACpF,KAAK,EAAE,CAAC,6DAA6D,CAAC;KACvE;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,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,7 +1,7 @@
1
1
  import { registerLanguage } from "../registry.js";
2
2
  export const SQL_DEF = {
3
3
  id: "sql",
4
- extensions: [".sql"],
4
+ extensions: [".sql", ".ddl", ".pgsql", ".mysql"],
5
5
  structure: {
6
6
  blocks: [
7
7
  { type: "statement", nameQuery: "(create_table)", captureId: "create" },
@@ -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,CAAC;IACpB,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,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":"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,kBA+KvB,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;AAGtD,eAAO,MAAM,SAAS,EAAE,kBAqOvB,CAAC"}
@@ -80,18 +80,45 @@ export const SWIFT_DEF = {
80
80
  (import_declaration (identifier) @mod) @stmt
81
81
  `,
82
82
  exports: `
83
- (class_declaration declaration_kind: "class" name: (_) @name)
84
- (class_declaration declaration_kind: "struct" name: (_) @name)
85
- (class_declaration declaration_kind: "enum" name: (_) @name)
86
- (class_declaration declaration_kind: "extension" name: (user_type (type_identifier) @name))
87
- (class_declaration declaration_kind: "actor" name: (_) @name)
88
- (enum_entry name: (simple_identifier) @name)
89
- (protocol_declaration name: (type_identifier) @name)
90
- (function_declaration name: (simple_identifier) @name)
91
- (typealias_declaration name: (type_identifier) @name)
92
- (property_declaration name: (pattern bound_identifier: (simple_identifier) @name))
93
- (protocol_function_declaration name: (simple_identifier) @name)
94
- (protocol_property_declaration name: (pattern bound_identifier: (simple_identifier) @name))
83
+ (source_file (class_declaration declaration_kind: "class" name: (_) @name))
84
+ (class_body (class_declaration declaration_kind: "class" name: (_) @name))
85
+ (enum_class_body (class_declaration declaration_kind: "class" name: (_) @name))
86
+ (source_file (class_declaration declaration_kind: "struct" name: (_) @name))
87
+ (class_body (class_declaration declaration_kind: "struct" name: (_) @name))
88
+ (enum_class_body (class_declaration declaration_kind: "struct" name: (_) @name))
89
+ (source_file (class_declaration declaration_kind: "enum" name: (_) @name))
90
+ (class_body (class_declaration declaration_kind: "enum" name: (_) @name))
91
+ (enum_class_body (class_declaration declaration_kind: "enum" name: (_) @name))
92
+ (source_file (class_declaration declaration_kind: "extension" name: (user_type (type_identifier) @name)))
93
+ (class_body (class_declaration declaration_kind: "extension" name: (user_type (type_identifier) @name)))
94
+ (enum_class_body (class_declaration declaration_kind: "extension" name: (user_type (type_identifier) @name)))
95
+ (source_file (class_declaration declaration_kind: "actor" name: (_) @name))
96
+ (class_body (class_declaration declaration_kind: "actor" name: (_) @name))
97
+ (enum_class_body (class_declaration declaration_kind: "actor" name: (_) @name))
98
+ (enum_class_body (enum_entry name: (simple_identifier) @name))
99
+ (source_file (protocol_declaration name: (type_identifier) @name))
100
+ (class_body (protocol_declaration name: (type_identifier) @name))
101
+ (enum_class_body (protocol_declaration name: (type_identifier) @name))
102
+ (source_file (function_declaration name: (simple_identifier) @name))
103
+ (class_body (function_declaration name: (simple_identifier) @name))
104
+ (enum_class_body (function_declaration name: (simple_identifier) @name))
105
+ (source_file (typealias_declaration name: (type_identifier) @name))
106
+ (class_body (typealias_declaration name: (type_identifier) @name))
107
+ (enum_class_body (typealias_declaration name: (type_identifier) @name))
108
+ (protocol_body (typealias_declaration name: (type_identifier) @name))
109
+ (source_file (property_declaration name: (pattern bound_identifier: (simple_identifier) @name)))
110
+ (class_body (property_declaration name: (pattern bound_identifier: (simple_identifier) @name)))
111
+ (enum_class_body (property_declaration name: (pattern bound_identifier: (simple_identifier) @name)))
112
+ (protocol_body (protocol_function_declaration name: (simple_identifier) @name))
113
+ (protocol_body (protocol_property_declaration name: (pattern bound_identifier: (simple_identifier) @name)))
114
+ (source_file (associatedtype_declaration name: (type_identifier) @name))
115
+ (protocol_body (associatedtype_declaration name: (type_identifier) @name))
116
+ (class_body (associatedtype_declaration name: (type_identifier) @name))
117
+ (enum_class_body (associatedtype_declaration name: (type_identifier) @name))
118
+ (source_file (macro_declaration (simple_identifier) @name))
119
+ (source_file (operator_declaration [(custom_operator) (simple_identifier) (bang)] @name))
120
+ (class_body (operator_declaration [(custom_operator) (simple_identifier) (bang)] @name))
121
+ (enum_class_body (operator_declaration [(custom_operator) (simple_identifier) (bang)] @name))
95
122
  `,
96
123
  locals: `
97
124
  (class_declaration declaration_kind: "class" name: (_) @name)
@@ -107,6 +134,9 @@ export const SWIFT_DEF = {
107
134
  (parameter name: (simple_identifier) @name)
108
135
  (protocol_function_declaration name: (simple_identifier) @name)
109
136
  (protocol_property_declaration name: (pattern bound_identifier: (simple_identifier) @name))
137
+ (associatedtype_declaration name: (type_identifier) @name)
138
+ (macro_declaration (simple_identifier) @name)
139
+ (operator_declaration [(custom_operator) (simple_identifier) (bang)] @name)
110
140
  `,
111
141
  importBindings: `
112
142
  (import_declaration (identifier) @from) @stmt
@@ -121,9 +151,13 @@ export const SWIFT_DEF = {
121
151
  const parent = node.parent;
122
152
  if (!parent)
123
153
  return "variable";
124
- if (parent.type === "function_declaration")
125
- return "function";
126
- if (parent.type === "protocol_function_declaration")
154
+ if (parent.type === "function_declaration" ||
155
+ parent.type === "protocol_function_declaration" ||
156
+ parent.type === "init_declaration" ||
157
+ parent.type === "deinit_declaration" ||
158
+ parent.type === "subscript_declaration" ||
159
+ parent.type === "macro_declaration" ||
160
+ parent.type === "operator_declaration")
127
161
  return "function";
128
162
  if (parent.type === "class_declaration") {
129
163
  const declarationKind = parent.childForFieldName("declaration_kind")?.text;
@@ -135,7 +169,9 @@ export const SWIFT_DEF = {
135
169
  // (`extension Container { ... }` -> name: (user_type (type_identifier))).
136
170
  if (parent.type === "user_type" && parent.parent?.type === "class_declaration")
137
171
  return "class";
138
- if (parent.type === "protocol_declaration" || parent.type === "typealias_declaration")
172
+ if (parent.type === "protocol_declaration" ||
173
+ parent.type === "typealias_declaration" ||
174
+ parent.type === "associatedtype_declaration")
139
175
  return "type";
140
176
  return "variable";
141
177
  },
@@ -157,6 +193,19 @@ export const SWIFT_DEF = {
157
193
  return true;
158
194
  if (parent.type === "typealias_declaration" && parent.childForFieldName("name")?.id === node.id)
159
195
  return true;
196
+ if (parent.type === "associatedtype_declaration" && parent.childForFieldName("name")?.id === node.id)
197
+ return true;
198
+ if (parent.type === "macro_declaration" && node.type === "simple_identifier")
199
+ return true;
200
+ if (parent.type === "operator_declaration" &&
201
+ (node.type === "custom_operator" || node.type === "simple_identifier" || node.type === "bang"))
202
+ return true;
203
+ if (parent.type === "init_declaration" && node.type === "init")
204
+ return true;
205
+ if (parent.type === "deinit_declaration" && node.type === "deinit")
206
+ return true;
207
+ if (parent.type === "subscript_declaration" && node.type === "subscript")
208
+ return true;
160
209
  if (parent.type === "parameter" && parent.childForFieldName("name")?.id === node.id)
161
210
  return true;
162
211
  if (parent.type === "protocol_function_declaration" && parent.childForFieldName("name")?.id === node.id)
@@ -181,6 +230,7 @@ export const SWIFT_DEF = {
181
230
  node.type === "catch_block" ||
182
231
  node.type === "willset_didset_block",
183
232
  supportsCrossModuleSymbols: true,
233
+ exportScopeBlockers: ["function_body", "lambda_literal"],
184
234
  };
185
235
  registerLanguage(SWIFT_DEF);
186
236
  //# sourceMappingURL=swift.js.map
@@ -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;AAwLtE,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;AA6MtE,eAAO,MAAM,cAAc,EAAE,kBAa5B,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,kBAoBrB,CAAC"}
@@ -40,7 +40,7 @@ const BASE_STRUCTURE = {
40
40
  },
41
41
  {
42
42
  type: "module",
43
- nameQuery: "name: (identifier) @chunk.name body: (statement_block) @chunk.block.namespace",
43
+ nameQuery: "name: [ (identifier) (string) ] @chunk.name body: (statement_block) @chunk.block.namespace",
44
44
  captureId: "namespace",
45
45
  },
46
46
  // Data
@@ -68,19 +68,25 @@ const BASE_GRAPH = {
68
68
  exports: `
69
69
  (export_statement) @stmt
70
70
  (export_statement declaration: (function_declaration name: (identifier) @name)) @stmt
71
+ (export_statement declaration: (function_signature name: (identifier) @name)) @stmt
71
72
  (export_statement declaration: (generator_function_declaration name: (identifier) @name)) @stmt
72
73
  (export_statement declaration: (class_declaration name: (type_identifier) @name)) @stmt
73
74
  (export_statement declaration: (abstract_class_declaration name: (type_identifier) @name)) @stmt
74
75
  (export_statement declaration: (enum_declaration name: [ (identifier) (type_identifier) ] @name)) @stmt
76
+ (export_statement declaration: (internal_module name: (identifier) @name)) @stmt
77
+ (export_statement declaration: (module name: (identifier) @name)) @stmt
78
+ (export_statement declaration: (ambient_declaration (function_signature name: (identifier) @name))) @stmt
79
+ (export_statement declaration: (ambient_declaration (internal_module name: (identifier) @name))) @stmt
80
+ (export_statement declaration: (ambient_declaration (module name: (identifier) @name))) @stmt
75
81
  (export_statement declaration: (function_declaration) @anon_default) @stmt
76
82
  (export_statement declaration: (generator_function_declaration) @anon_default) @stmt
77
83
  (export_statement declaration: (class_declaration) @anon_default) @stmt
78
84
  (export_statement declaration: (abstract_class_declaration) @anon_default) @stmt
79
85
  (export_statement declaration: (lexical_declaration (variable_declarator name: (identifier) @name))) @stmt
80
- (export_statement (export_clause (export_specifier name: (identifier) @src alias: (identifier) @alias)) (string) @from) @stmt
81
- (export_statement (export_clause (export_specifier name: (identifier) @src !alias)) (string) @from) @stmt
82
- (export_statement (export_clause (export_specifier name: (identifier) @src alias: (identifier) @alias))) @stmt
83
- (export_statement (export_clause (export_specifier name: (identifier) @src !alias))) @stmt
86
+ (export_statement (export_clause (export_specifier "type"? @type_kw name: (identifier) @src alias: (identifier) @alias)) (string) @from) @stmt
87
+ (export_statement (export_clause (export_specifier "type"? @type_kw name: (identifier) @src !alias)) (string) @from) @stmt
88
+ (export_statement (export_clause (export_specifier "type"? @type_kw name: (identifier) @src alias: (identifier) @alias))) @stmt
89
+ (export_statement (export_clause (export_specifier "type"? @type_kw name: (identifier) @src !alias))) @stmt
84
90
  (export_statement (string) @from) @stmt
85
91
  (export_assignment (identifier) @ts_export_assign)
86
92
  `,
@@ -90,20 +96,23 @@ const BASE_GRAPH = {
90
96
  (method_definition name: (property_identifier) @name)
91
97
  (method_signature name: (property_identifier) @name)
92
98
  (abstract_method_signature name: (property_identifier) @name)
99
+ (function_signature name: (identifier) @name)
93
100
  (class_declaration name: (type_identifier) @name)
94
101
  (abstract_class_declaration name: (type_identifier) @name)
95
102
  (variable_declarator name: (identifier) @name)
96
103
  (interface_declaration name: (type_identifier) @name)
97
104
  (type_alias_declaration name: (type_identifier) @name)
98
105
  (enum_declaration name: [ (identifier) (type_identifier) ] @name)
106
+ (internal_module name: (identifier) @name)
107
+ (module name: (identifier) @name)
99
108
  `,
100
109
  importBindings: `
101
110
  (import_statement) @stmt
102
111
  (import_statement (string) @from) @stmt
103
112
  (import_statement (import_require_clause (identifier) @def (string) @from)) @stmt
104
113
  (import_statement (import_clause (identifier) @def) (string) @from) @stmt
105
- (import_statement (import_clause (named_imports (import_specifier name: (identifier) @iname alias: (identifier) @alias))) (string) @from) @stmt
106
- (import_statement (import_clause (named_imports (import_specifier name: (identifier) @iname))) (string) @from) @stmt
114
+ (import_statement (import_clause (named_imports (import_specifier "type"? @type_kw name: (identifier) @iname alias: (identifier) @alias))) (string) @from) @stmt
115
+ (import_statement (import_clause (named_imports (import_specifier "type"? @type_kw name: (identifier) @iname !alias))) (string) @from) @stmt
107
116
  (import_statement (import_clause (namespace_import (identifier) @ns)) (string) @from) @stmt
108
117
  `,
109
118
  };
@@ -126,6 +135,8 @@ const BASE_HELPERS = {
126
135
  return "function";
127
136
  if (t === "abstract_method_signature")
128
137
  return "function";
138
+ if (t === "function_signature")
139
+ return "function";
129
140
  if (t === "class_declaration")
130
141
  return "class";
131
142
  if (t === "abstract_class_declaration")
@@ -134,7 +145,7 @@ const BASE_HELPERS = {
134
145
  return "interface";
135
146
  if (t === "type_alias_declaration")
136
147
  return "type";
137
- if (t === "enum_declaration")
148
+ if (t === "enum_declaration" || t === "internal_module" || t === "module")
138
149
  return "type";
139
150
  return "variable";
140
151
  },
@@ -150,6 +161,9 @@ const BASE_HELPERS = {
150
161
  "interface_declaration",
151
162
  "type_alias_declaration",
152
163
  "enum_declaration",
164
+ "function_signature",
165
+ "internal_module",
166
+ "module",
153
167
  "import_specifier",
154
168
  "namespace_import",
155
169
  "import_clause",
@@ -161,7 +175,14 @@ const BASE_HELPERS = {
161
175
  "abstract_method_signature",
162
176
  ].includes(p));
163
177
  },
164
- createsBlockScope: (n) => n.type === "program" || n.type === "block" || n.type === "class_body",
178
+ // Scope construction has structural handling for the ordinary declaration forms. Ambient
179
+ // overload signatures and `namespace X {}` are not in it, so opt their name nodes in here;
180
+ // `isDeclarationName` already accepts both parents.
181
+ scopeDeclarationNames: (node) => {
182
+ const parent = node.parent?.type;
183
+ return parent === "function_signature" || parent === "internal_module" || parent === "module";
184
+ },
185
+ createsBlockScope: (n) => n.type === "program" || n.type === "block" || n.type === "class_body" || n.type === "class_static_block",
165
186
  createsFunctionScope: (n) => n.type === "generator_function_declaration" ||
166
187
  n.type === "function_declaration" ||
167
188
  n.type === "function" ||
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/languages/definitions/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/languages/definitions/typescript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zig.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/zig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAYtD,eAAO,MAAM,OAAO,EAAE,kBAwDrB,CAAC"}
1
+ {"version":3,"file":"zig.d.ts","sourceRoot":"","sources":["../../../src/languages/definitions/zig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAatD,eAAO,MAAM,OAAO,EAAE,kBA2ErB,CAAC"}
@@ -6,6 +6,7 @@ const ZIG_TYPE_INITIALIZER_TYPES = new Set([
6
6
  "union_declaration",
7
7
  "opaque_declaration",
8
8
  "error_set_declaration",
9
+ "error_union_type",
9
10
  ]);
10
11
  export const ZIG_DEF = {
11
12
  id: "zig",
@@ -17,13 +18,16 @@ export const ZIG_DEF = {
17
18
  { type: "test_declaration", nameQuery: "(string) @chunk.name", captureId: "test" },
18
19
  ],
19
20
  splitPoints: ["if_expression", "for_expression", "while_expression", "switch_expression"],
20
- comments: ["line_comment", "doc_comment"],
21
+ comments: ["comment"],
21
22
  },
22
23
  graph: {
23
- imports: '(builtin_function (builtin_identifier) @fn (arguments (string) @mod) (#eq? @fn "@import")) @stmt',
24
+ imports: `
25
+ (builtin_function (builtin_identifier) @fn (arguments (string) @mod) (#eq? @fn "@import")) @stmt
26
+ (builtin_function (builtin_identifier) @mod (arguments) (#eq? @mod "@cImport")) @stmt
27
+ `,
24
28
  exports: `
25
- (function_declaration name: (identifier) @name)
26
- (variable_declaration (identifier) @name)
29
+ (source_file (function_declaration name: (identifier) @name))
30
+ (source_file (variable_declaration (identifier) @name))
27
31
  `,
28
32
  locals: `
29
33
  (function_declaration name: (identifier) @name)
@@ -35,6 +39,13 @@ export const ZIG_DEF = {
35
39
  (identifier) @alias
36
40
  (builtin_function (builtin_identifier) @fn (arguments (string) @from) (#eq? @fn "@import"))
37
41
  ) @stmt
42
+ (variable_declaration
43
+ (identifier) @alias
44
+ (builtin_function (builtin_identifier) @from (arguments) (#eq? @from "@cImport"))
45
+ ) @stmt
46
+ (using_namespace_declaration
47
+ (builtin_function (builtin_identifier) @fn (arguments (string) @from) (#eq? @fn "@import"))
48
+ ) @stmt @wild
38
49
  `,
39
50
  },
40
51
  nodeTypes: {
@@ -53,7 +64,17 @@ export const ZIG_DEF = {
53
64
  const declaredName = parent.namedChildren.find((child) => child.type === "identifier");
54
65
  if (declaredName?.id !== node.id)
55
66
  return "variable";
56
- const initializer = parent.namedChildren.find((child) => child.id !== node.id);
67
+ let equalsEndIndex = -1;
68
+ for (let index = 0;; index++) {
69
+ const child = parent.child(index);
70
+ if (!child)
71
+ break;
72
+ if (child.type === "=") {
73
+ equalsEndIndex = child.endIndex;
74
+ break;
75
+ }
76
+ }
77
+ const initializer = parent.namedChildren.find((child) => child.startIndex >= equalsEndIndex);
57
78
  if (initializer && ZIG_TYPE_INITIALIZER_TYPES.has(initializer.type))
58
79
  return "type";
59
80
  return "variable";
@@ -1 +1 @@
1
- {"version":3,"file":"zig.js","sourceRoot":"","sources":["../../../src/languages/definitions/zig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC;IACzC,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAuB;IACzC,EAAE,EAAE,KAAK;IACT,UAAU,EAAE,CAAC,MAAM,CAAC;IACpB,qBAAqB,EAAE,IAAI;IAC3B,SAAS,EAAE;QACT,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,gCAAgC,EAAE,SAAS,EAAE,UAAU,EAAE;YACpG,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE;SACnF;QACD,WAAW,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;QACzF,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;KAC1C;IACD,KAAK,EAAE;QACL,OAAO,EAAE,kGAAkG;QAC3G,OAAO,EAAE;;;KAGR;QACD,MAAM,EAAE;;;;KAIP;QACD,cAAc,EAAE;;;;;KAKf;KACF;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC,YAAY,CAAC;QAC1B,gBAAgB,EAAE,kBAAkB;KACrC;IACD,0BAA0B,EAAE,IAAI;IAChC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,UAAU,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB;YAAE,OAAO,UAAU,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB;YAAE,OAAO,UAAU,CAAC;QAE9D,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACvF,IAAI,YAAY,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,WAAW,IAAI,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QACnF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,sBAAsB;IACpE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;IAClD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5G,OAAO,MAAM,CAAC,IAAI,KAAK,sBAAsB,CAAC;IAChD,CAAC;CACF,CAAC;AAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"zig.js","sourceRoot":"","sources":["../../../src/languages/definitions/zig.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,24 @@ export type ParsedRustImportStatement = {
8
8
  from: string;
9
9
  local: string;
10
10
  isExternCrate: boolean;
11
+ pathAttribute?: string;
11
12
  } | {
12
13
  kind: "star";
13
14
  from: string;
14
15
  };
15
- export declare function parseRustImportStatement(stmtText: string): ParsedRustImportStatement | null;
16
+ export declare function skipRustCommentOrLiteral(source: string, index: number): {
17
+ end: number;
18
+ kind: "comment" | "literal";
19
+ } | null;
20
+ export declare function skipRustBalancedDelimiters(source: string, index: number, closer: string): number;
21
+ export declare function isRustItemStartBoundary(source: string, index: number): boolean;
22
+ export declare function skipRustOuterAttribute(source: string, index: number): number | null;
23
+ export declare function skipRustAttribute(source: string, index: number): number | null;
24
+ export declare function skipRustMacroTokenTree(source: string, index: number): {
25
+ end: number;
26
+ } | null;
27
+ export declare function skipRustCommentsAndWhitespaceBackward(source: string, index: number): number;
28
+ export declare function parseRustImportStatements(stmtText: string): ParsedRustImportStatement[];
16
29
  export type ParsedCsharpUsingDirective = {
17
30
  from: string;
18
31
  alias?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"import-statement-parsers.d.ts","sourceRoot":"","sources":["../../src/languages/import-statement-parsers.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;CACxB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AASN,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CA2D3F;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AA8E3D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,CA+BvG;AAgJD,eAAO,MAAM,yBAAyB,QAA4E,CAAC;AAKnH,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAoB/F;AAED,eAAO,MAAM,uBAAuB,QAAwE,CAAC;AAmB7G,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAsB3F;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CA0B7F"}
1
+ {"version":3,"file":"import-statement-parsers.d.ts","sourceRoot":"","sources":["../../src/languages/import-statement-parsers.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAeN,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,IAAI,CAsDrD;AAqBD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiChG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAG9E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE9E;AA4BD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAsB5F;AAmCD,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAa3F;AAuFD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,EAAE,CAoCvF;AA8HD,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AA8E3D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,CA+BvG;AAgJD,eAAO,MAAM,yBAAyB,QAA4E,CAAC;AAKnH,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAoB/F;AAED,eAAO,MAAM,uBAAuB,QAAwE,CAAC;AAmB7G,MAAM,MAAM,yBAAyB,GACjC;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAsB3F;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CA0B7F"}