@optave/codegraph 3.9.6 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +26 -12
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +1 -1
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/rules/index.d.ts.map +1 -1
  6. package/dist/ast-analysis/rules/index.js +77 -0
  7. package/dist/ast-analysis/rules/index.js.map +1 -1
  8. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  9. package/dist/ast-analysis/visitors/ast-store-visitor.js +50 -8
  10. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  11. package/dist/cli/commands/audit.js +1 -1
  12. package/dist/cli/commands/audit.js.map +1 -1
  13. package/dist/cli/commands/build.d.ts.map +1 -1
  14. package/dist/cli/commands/build.js +2 -0
  15. package/dist/cli/commands/build.js.map +1 -1
  16. package/dist/cli/commands/check.js +1 -1
  17. package/dist/cli/commands/check.js.map +1 -1
  18. package/dist/cli/commands/children.js +1 -1
  19. package/dist/cli/commands/children.js.map +1 -1
  20. package/dist/cli/commands/diff-impact.js +1 -1
  21. package/dist/cli/commands/diff-impact.js.map +1 -1
  22. package/dist/cli/commands/roles.js +1 -1
  23. package/dist/cli/commands/roles.js.map +1 -1
  24. package/dist/cli/commands/structure.js +1 -1
  25. package/dist/cli/commands/structure.js.map +1 -1
  26. package/dist/cli/shared/options.js +1 -1
  27. package/dist/cli/shared/options.js.map +1 -1
  28. package/dist/db/connection.d.ts.map +1 -1
  29. package/dist/db/connection.js +8 -0
  30. package/dist/db/connection.js.map +1 -1
  31. package/dist/domain/graph/builder/context.d.ts +10 -0
  32. package/dist/domain/graph/builder/context.d.ts.map +1 -1
  33. package/dist/domain/graph/builder/context.js +10 -0
  34. package/dist/domain/graph/builder/context.js.map +1 -1
  35. package/dist/domain/graph/builder/helpers.d.ts +7 -2
  36. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  37. package/dist/domain/graph/builder/helpers.js +7 -2
  38. package/dist/domain/graph/builder/helpers.js.map +1 -1
  39. package/dist/domain/graph/builder/incremental.d.ts +0 -6
  40. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  41. package/dist/domain/graph/builder/incremental.js +6 -23
  42. package/dist/domain/graph/builder/incremental.js.map +1 -1
  43. package/dist/domain/graph/builder/pipeline.d.ts +44 -0
  44. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  45. package/dist/domain/graph/builder/pipeline.js +348 -42
  46. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  47. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  48. package/dist/domain/graph/builder/stages/build-edges.js +8 -2
  49. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  50. package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
  51. package/dist/domain/graph/builder/stages/collect-files.js +8 -0
  52. package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
  53. package/dist/domain/graph/builder/stages/detect-changes.d.ts +24 -0
  54. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  55. package/dist/domain/graph/builder/stages/detect-changes.js +117 -3
  56. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  57. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  58. package/dist/domain/graph/builder/stages/finalize.js +9 -6
  59. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  60. package/dist/domain/graph/builder/stages/insert-nodes.d.ts +30 -0
  61. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  62. package/dist/domain/graph/builder/stages/insert-nodes.js +36 -13
  63. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  64. package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
  65. package/dist/domain/graph/builder/stages/resolve-imports.js +73 -22
  66. package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
  67. package/dist/domain/graph/watcher.d.ts.map +1 -1
  68. package/dist/domain/graph/watcher.js +23 -18
  69. package/dist/domain/graph/watcher.js.map +1 -1
  70. package/dist/domain/parser.d.ts +14 -1
  71. package/dist/domain/parser.d.ts.map +1 -1
  72. package/dist/domain/parser.js +104 -11
  73. package/dist/domain/parser.js.map +1 -1
  74. package/dist/domain/search/models.d.ts +16 -0
  75. package/dist/domain/search/models.d.ts.map +1 -1
  76. package/dist/domain/search/models.js +36 -2
  77. package/dist/domain/search/models.js.map +1 -1
  78. package/dist/domain/wasm-worker-entry.js +20 -13
  79. package/dist/domain/wasm-worker-entry.js.map +1 -1
  80. package/dist/extractors/c.js +25 -6
  81. package/dist/extractors/c.js.map +1 -1
  82. package/dist/extractors/cpp.js +47 -6
  83. package/dist/extractors/cpp.js.map +1 -1
  84. package/dist/extractors/cuda.js +90 -14
  85. package/dist/extractors/cuda.js.map +1 -1
  86. package/dist/extractors/elixir.js +83 -3
  87. package/dist/extractors/elixir.js.map +1 -1
  88. package/dist/extractors/erlang.js +56 -20
  89. package/dist/extractors/erlang.js.map +1 -1
  90. package/dist/extractors/fsharp.d.ts +7 -0
  91. package/dist/extractors/fsharp.d.ts.map +1 -1
  92. package/dist/extractors/fsharp.js +94 -0
  93. package/dist/extractors/fsharp.js.map +1 -1
  94. package/dist/extractors/gleam.js +6 -2
  95. package/dist/extractors/gleam.js.map +1 -1
  96. package/dist/extractors/groovy.js +41 -1
  97. package/dist/extractors/groovy.js.map +1 -1
  98. package/dist/extractors/haskell.js +48 -4
  99. package/dist/extractors/haskell.js.map +1 -1
  100. package/dist/extractors/julia.js +172 -41
  101. package/dist/extractors/julia.js.map +1 -1
  102. package/dist/extractors/kotlin.js +4 -0
  103. package/dist/extractors/kotlin.js.map +1 -1
  104. package/dist/extractors/objc.js +184 -47
  105. package/dist/extractors/objc.js.map +1 -1
  106. package/dist/extractors/python.js +7 -4
  107. package/dist/extractors/python.js.map +1 -1
  108. package/dist/extractors/r.js +93 -52
  109. package/dist/extractors/r.js.map +1 -1
  110. package/dist/extractors/scala.d.ts.map +1 -1
  111. package/dist/extractors/scala.js +18 -32
  112. package/dist/extractors/scala.js.map +1 -1
  113. package/dist/extractors/solidity.js +18 -9
  114. package/dist/extractors/solidity.js.map +1 -1
  115. package/dist/extractors/verilog.js +80 -15
  116. package/dist/extractors/verilog.js.map +1 -1
  117. package/dist/infrastructure/config.d.ts +1 -0
  118. package/dist/infrastructure/config.d.ts.map +1 -1
  119. package/dist/infrastructure/config.js +1 -0
  120. package/dist/infrastructure/config.js.map +1 -1
  121. package/dist/mcp/server.d.ts.map +1 -1
  122. package/dist/mcp/server.js +14 -8
  123. package/dist/mcp/server.js.map +1 -1
  124. package/dist/mcp/tool-registry.d.ts +1 -1
  125. package/dist/mcp/tool-registry.d.ts.map +1 -1
  126. package/dist/mcp/tool-registry.js +23 -5
  127. package/dist/mcp/tool-registry.js.map +1 -1
  128. package/dist/mcp/tools/semantic-search.d.ts +1 -0
  129. package/dist/mcp/tools/semantic-search.d.ts.map +1 -1
  130. package/dist/mcp/tools/semantic-search.js +1 -0
  131. package/dist/mcp/tools/semantic-search.js.map +1 -1
  132. package/dist/types.d.ts +16 -1
  133. package/dist/types.d.ts.map +1 -1
  134. package/grammars/tree-sitter-erlang.wasm +0 -0
  135. package/grammars/tree-sitter-fsharp.wasm +0 -0
  136. package/grammars/tree-sitter-fsharp_signature.wasm +0 -0
  137. package/grammars/tree-sitter-gleam.wasm +0 -0
  138. package/package.json +11 -10
  139. package/src/ast-analysis/engine.ts +3 -1
  140. package/src/ast-analysis/rules/index.ts +87 -0
  141. package/src/ast-analysis/visitors/ast-store-visitor.ts +45 -9
  142. package/src/cli/commands/audit.ts +1 -1
  143. package/src/cli/commands/build.ts +2 -0
  144. package/src/cli/commands/check.ts +1 -1
  145. package/src/cli/commands/children.ts +1 -1
  146. package/src/cli/commands/diff-impact.ts +1 -1
  147. package/src/cli/commands/roles.ts +1 -1
  148. package/src/cli/commands/structure.ts +1 -1
  149. package/src/cli/shared/options.ts +1 -1
  150. package/src/db/connection.ts +8 -0
  151. package/src/domain/graph/builder/context.ts +10 -0
  152. package/src/domain/graph/builder/helpers.ts +8 -3
  153. package/src/domain/graph/builder/incremental.ts +6 -41
  154. package/src/domain/graph/builder/pipeline.ts +404 -41
  155. package/src/domain/graph/builder/stages/build-edges.ts +9 -2
  156. package/src/domain/graph/builder/stages/collect-files.ts +9 -0
  157. package/src/domain/graph/builder/stages/detect-changes.ts +130 -4
  158. package/src/domain/graph/builder/stages/finalize.ts +9 -6
  159. package/src/domain/graph/builder/stages/insert-nodes.ts +38 -14
  160. package/src/domain/graph/builder/stages/resolve-imports.ts +79 -25
  161. package/src/domain/graph/watcher.ts +21 -23
  162. package/src/domain/parser.ts +110 -10
  163. package/src/domain/search/models.ts +37 -2
  164. package/src/domain/wasm-worker-entry.ts +20 -13
  165. package/src/extractors/c.ts +27 -8
  166. package/src/extractors/cpp.ts +50 -8
  167. package/src/extractors/cuda.ts +90 -16
  168. package/src/extractors/elixir.ts +75 -3
  169. package/src/extractors/erlang.ts +63 -20
  170. package/src/extractors/fsharp.ts +104 -0
  171. package/src/extractors/gleam.ts +7 -2
  172. package/src/extractors/groovy.ts +45 -1
  173. package/src/extractors/haskell.ts +45 -4
  174. package/src/extractors/julia.ts +164 -43
  175. package/src/extractors/kotlin.ts +4 -0
  176. package/src/extractors/objc.ts +171 -47
  177. package/src/extractors/python.ts +5 -3
  178. package/src/extractors/r.ts +88 -48
  179. package/src/extractors/scala.ts +24 -36
  180. package/src/extractors/solidity.ts +17 -8
  181. package/src/extractors/verilog.ts +83 -15
  182. package/src/infrastructure/config.ts +1 -0
  183. package/src/mcp/server.ts +16 -9
  184. package/src/mcp/tool-registry.ts +28 -5
  185. package/src/mcp/tools/semantic-search.ts +2 -0
  186. package/src/types.ts +16 -0
@@ -161,13 +161,93 @@ function extractElixirParams(defCallNode) {
161
161
  const param = innerArgs.child(j);
162
162
  if (!param)
163
163
  continue;
164
- if (param.type === 'identifier') {
165
- params.push({ name: param.text, kind: 'parameter', line: param.startPosition.row + 1 });
166
- }
164
+ collectElixirParamIdentifiers(param, params);
167
165
  }
168
166
  }
169
167
  return params;
170
168
  }
169
+ /**
170
+ * Recursively walk a parameter pattern and emit each bound identifier as a
171
+ * `parameter` child. Handles bare identifiers, default-value `a \\ default`,
172
+ * list-cons `[head | tail]`, list `[a, b, c]`, tuple `{x, y}`, and
173
+ * map / struct destructuring (`%{k: v}`, `%Foo{k: v}`).
174
+ */
175
+ function collectElixirParamIdentifiers(node, out) {
176
+ switch (node.type) {
177
+ case 'identifier':
178
+ out.push({ name: node.text, kind: 'parameter', line: node.startPosition.row + 1 });
179
+ return;
180
+ case 'binary_operator': {
181
+ // `name \\ default` (default-value) binds the left operand only.
182
+ // `head | tail` (list-cons, appears inside a `list` pattern) binds both operands.
183
+ const op = node.child(1);
184
+ if (!op)
185
+ return;
186
+ if (op.type === '\\\\') {
187
+ const left = node.child(0);
188
+ if (left)
189
+ collectElixirParamIdentifiers(left, out);
190
+ return;
191
+ }
192
+ if (op.type === '|') {
193
+ const left = node.child(0);
194
+ const right = node.child(2);
195
+ if (left)
196
+ collectElixirParamIdentifiers(left, out);
197
+ if (right)
198
+ collectElixirParamIdentifiers(right, out);
199
+ return;
200
+ }
201
+ return;
202
+ }
203
+ case 'list':
204
+ // `[a, b, c]` or `[head | tail]` — walk children, skipping punctuation. The
205
+ // `|` cons case is handled by the `binary_operator` arm when we recurse.
206
+ for (let i = 0; i < node.childCount; i++) {
207
+ const c = node.child(i);
208
+ if (!c || c.type === '[' || c.type === ']' || c.type === ',')
209
+ continue;
210
+ collectElixirParamIdentifiers(c, out);
211
+ }
212
+ return;
213
+ case 'tuple':
214
+ for (let i = 0; i < node.childCount; i++) {
215
+ const c = node.child(i);
216
+ if (!c || c.type === '{' || c.type === '}' || c.type === ',')
217
+ continue;
218
+ collectElixirParamIdentifiers(c, out);
219
+ }
220
+ return;
221
+ case 'map':
222
+ // `%{k: v}` or `%Foo{k: v}` — walk map_content > keywords > pair and emit each
223
+ // pair's value side (the bound name). The struct alias (`Foo`) is a type, not a
224
+ // bound identifier, so the leading `struct` child is intentionally skipped.
225
+ for (let i = 0; i < node.childCount; i++) {
226
+ const c = node.child(i);
227
+ if (c && c.type === 'map_content')
228
+ collectElixirMapBindings(c, out);
229
+ }
230
+ return;
231
+ }
232
+ }
233
+ function collectElixirMapBindings(content, out) {
234
+ for (let i = 0; i < content.childCount; i++) {
235
+ const kws = content.child(i);
236
+ if (!kws || kws.type !== 'keywords')
237
+ continue;
238
+ for (let j = 0; j < kws.childCount; j++) {
239
+ const pair = kws.child(j);
240
+ if (!pair || pair.type !== 'pair')
241
+ continue;
242
+ for (let k = 0; k < pair.childCount; k++) {
243
+ const part = pair.child(k);
244
+ if (!part || part.type === 'keyword')
245
+ continue;
246
+ collectElixirParamIdentifiers(part, out);
247
+ }
248
+ }
249
+ }
250
+ }
171
251
  function handleDefprotocol(node, ctx) {
172
252
  const args = findChild(node, 'arguments');
173
253
  if (!args)
@@ -1 +1 @@
1
- {"version":3,"file":"elixir.js","sourceRoot":"","sources":["../../src/extractors/elixir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elixir.js","sourceRoot":"","sources":["../../src/extractors/elixir.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,10 @@ function walkErlangNode(node, ctx) {
65
65
  }
66
66
  function handleModuleAttr(node, ctx) {
67
67
  // module_attribute: - module ( atom ) .
68
- const nameNode = findChild(node, 'atom');
68
+ // Prefer the named `name` field exposed by tree-sitter-erlang so we don't
69
+ // accidentally pick up the `module` keyword if a future grammar exposes it
70
+ // as a named `atom` child.
71
+ const nameNode = node.childForFieldName('name') ?? findChild(node, 'atom');
69
72
  if (!nameNode)
70
73
  return;
71
74
  ctx.definitions.push({
@@ -77,7 +80,10 @@ function handleModuleAttr(node, ctx) {
77
80
  }
78
81
  function handleRecordDecl(node, ctx) {
79
82
  // record_decl: - record ( atom , { record_field, ... } ) .
80
- const nameNode = findChild(node, 'atom');
83
+ // Prefer the named `name` field exposed by tree-sitter-erlang; fall back to
84
+ // the first atom child for grammar versions that don't expose it. Mirrors
85
+ // the Rust `handle_record_decl` defensive pattern.
86
+ const nameNode = node.childForFieldName('name') ?? findChild(node, 'atom');
81
87
  if (!nameNode)
82
88
  return;
83
89
  const children = [];
@@ -105,7 +111,14 @@ function handleRecordDecl(node, ctx) {
105
111
  });
106
112
  }
107
113
  function handleTypeAlias(node, ctx) {
108
- const nameNode = findChild(node, 'atom');
114
+ // type_alias: -type name(...) :: ty.
115
+ // Name is typically wrapped in a `type_name` node containing an `atom`.
116
+ // Mirrors the Rust `handle_type_alias` fallback so the two engines agree
117
+ // even when the grammar nests the name inside `type_name`.
118
+ const directAtom = findChild(node, 'atom');
119
+ const typeNameNode = !directAtom ? findChild(node, 'type_name') : null;
120
+ const wrappedAtom = typeNameNode ? findChild(typeNameNode, 'atom') : null;
121
+ const nameNode = directAtom ?? wrappedAtom;
109
122
  if (!nameNode)
110
123
  return;
111
124
  ctx.definitions.push({
@@ -125,13 +138,16 @@ function handleFunDecl(node, ctx) {
125
138
  }
126
139
  function handleFunctionClause(node, ctx) {
127
140
  // function_clause: atom expr_args clause_body
128
- const nameNode = findChild(node, 'atom');
141
+ const nameNode = node.childForFieldName('name') ?? findChild(node, 'atom');
129
142
  if (!nameNode)
130
143
  return;
131
- // Don't duplicate if we already have this function
132
- if (ctx.definitions.some((d) => d.name === nameNode.text && d.kind === 'function'))
133
- return;
134
144
  const params = extractErlangParams(node);
145
+ const arity = params.length;
146
+ // Don't duplicate if we already have this function at the same arity.
147
+ // Erlang overloads by arity, so `foo/1` and `foo/2` are distinct definitions.
148
+ if (ctx.definitions.some((d) => d.name === nameNode.text && d.kind === 'function' && (d.children?.length ?? 0) === arity)) {
149
+ return;
150
+ }
135
151
  ctx.definitions.push({
136
152
  name: nameNode.text,
137
153
  kind: 'function',
@@ -143,29 +159,39 @@ function handleFunctionClause(node, ctx) {
143
159
  }
144
160
  function extractErlangParams(clauseNode) {
145
161
  const params = [];
146
- const argsNode = findChild(clauseNode, 'expr_args');
162
+ const argsNode = clauseNode.childForFieldName('args') ?? findChild(clauseNode, 'expr_args');
147
163
  if (!argsNode)
148
164
  return params;
149
- for (let i = 0; i < argsNode.childCount; i++) {
150
- const child = argsNode.child(i);
165
+ // Iterate named children so every argument pattern counts as one parameter,
166
+ // independent of whether it is a bare `var`/`atom` or a complex destructuring
167
+ // pattern (tuple, list, binary, etc.). Punctuation tokens are anonymous and
168
+ // therefore excluded automatically.
169
+ for (let i = 0; i < argsNode.namedChildCount; i++) {
170
+ const child = argsNode.namedChild(i);
151
171
  if (!child)
152
172
  continue;
153
- if (child.type === 'var') {
154
- params.push({ name: child.text, kind: 'parameter', line: child.startPosition.row + 1 });
155
- }
156
- if (child.type === 'atom') {
157
- params.push({ name: child.text, kind: 'parameter', line: child.startPosition.row + 1 });
158
- }
173
+ const label = child.type === 'var' || child.type === 'atom'
174
+ ? child.text
175
+ : // Placeholder for complex patterns so arity is preserved.
176
+ `_${i}`;
177
+ params.push({ name: label, kind: 'parameter', line: child.startPosition.row + 1 });
159
178
  }
160
179
  return params;
161
180
  }
162
181
  function handleDefine(node, ctx) {
163
182
  // pp_define: -define(NAME, value).
183
+ // For parametric macros, the grammar wraps the name in a `macro_lhs(name, args)`
184
+ // node. Inside `macro_lhs` the name comes first, followed by `(`, the argument
185
+ // `var` children, and `)`. We must therefore try `atom` (lowercase macros,
186
+ // e.g. `-define(foo(X), X+1)`) before `var` (uppercase macros, e.g.
187
+ // `-define(FOO(X), X+1)`) — otherwise `findChild(.., 'var')` skips the leading
188
+ // atom and lands on the first argument variable, mislabeling the definition.
189
+ // Mirrors the Rust `handle_define` so both engines agree.
164
190
  const nameNode = findChild(node, 'var') || findChild(node, 'atom') || findChild(node, 'macro_lhs');
165
191
  if (!nameNode)
166
192
  return;
167
193
  const name = nameNode.type === 'macro_lhs'
168
- ? (findChild(nameNode, 'var')?.text ?? nameNode.text)
194
+ ? (findChild(nameNode, 'atom')?.text ?? findChild(nameNode, 'var')?.text ?? nameNode.text)
169
195
  : nameNode.text;
170
196
  ctx.definitions.push({
171
197
  name,
@@ -179,9 +205,15 @@ function handleInclude(node, ctx) {
179
205
  if (!strNode)
180
206
  return;
181
207
  const source = strNode.text.replace(/^"|"$/g, '');
208
+ // Preserve the distinction between local includes (`-include("foo.hrl")`)
209
+ // and OTP library includes (`-include_lib("kernel/include/file.hrl")`) so
210
+ // downstream consumers can apply the correct path-resolution strategy
211
+ // (local: relative to the source file; lib: relative to an OTP app root).
212
+ // Mirrors the Rust `handle_include` so both engines agree.
213
+ const kind = node.type === 'pp_include_lib' ? 'include_lib' : 'include';
182
214
  ctx.imports.push({
183
215
  source,
184
- names: ['include'],
216
+ names: [kind],
185
217
  line: node.startPosition.row + 1,
186
218
  });
187
219
  }
@@ -208,8 +240,12 @@ function handleImportAttr(node, ctx) {
208
240
  });
209
241
  }
210
242
  function handleCall(node, ctx) {
211
- // call: first child is function ref (atom or remote), then expr_args
212
- const funcNode = node.child(0);
243
+ // call: first named child is function ref (atom or remote), then expr_args.
244
+ // Using `namedChild(0)` rather than `child(0)` skips anonymous tokens
245
+ // (punctuation, keywords) so a future grammar revision that inserts a
246
+ // leading anonymous node won't silently drop the call. Mirrors the Rust
247
+ // `handle_call` so both engines emit the same set of calls.
248
+ const funcNode = node.namedChild(0);
213
249
  if (!funcNode)
214
250
  return;
215
251
  if (funcNode.type === 'atom' || funcNode.type === 'identifier') {
@@ -1 +1 @@
1
- {"version":3,"file":"erlang.js","sourceRoot":"","sources":["../../src/extractors/erlang.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erlang.js","sourceRoot":"","sources":["../../src/extractors/erlang.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type { ExtractorOutput, TreeSitterTree } from '../types.js';
2
2
  /**
3
3
  * Extract symbols from F# files.
4
4
  *
5
+ * Grammar source: `tree-sitter-fsharp` v0.3.0 installed via a pinned GitHub
6
+ * tarball in `package.json` because the ionide/tree-sitter-fsharp project has
7
+ * no v0.3.0 release published to the npm registry. The cargo crate the native
8
+ * engine uses is also v0.3.0; both engines must stay aligned. Upgrading
9
+ * requires a manual edit of the tarball URL in `package.json` and
10
+ * `package-lock.json` — `npm update` will not bump this entry.
11
+ *
5
12
  * tree-sitter-fsharp grammar notes:
6
13
  * - named_module: top-level module declaration
7
14
  * - function_declaration_left: LHS of `let name params = ...`
@@ -1 +1 @@
1
- {"version":3,"file":"fsharp.d.ts","sourceRoot":"","sources":["../../src/extractors/fsharp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAY7F"}
1
+ {"version":3,"file":"fsharp.d.ts","sourceRoot":"","sources":["../../src/extractors/fsharp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAY7F"}
@@ -2,6 +2,13 @@ import { findChild, nodeEndLine } from './helpers.js';
2
2
  /**
3
3
  * Extract symbols from F# files.
4
4
  *
5
+ * Grammar source: `tree-sitter-fsharp` v0.3.0 installed via a pinned GitHub
6
+ * tarball in `package.json` because the ionide/tree-sitter-fsharp project has
7
+ * no v0.3.0 release published to the npm registry. The cargo crate the native
8
+ * engine uses is also v0.3.0; both engines must stay aligned. Upgrading
9
+ * requires a manual edit of the tarball URL in `package.json` and
10
+ * `package-lock.json` — `npm update` will not bump this entry.
11
+ *
5
12
  * tree-sitter-fsharp grammar notes:
6
13
  * - named_module: top-level module declaration
7
14
  * - function_declaration_left: LHS of `let name params = ...`
@@ -27,6 +34,14 @@ function walkFSharpNode(node, ctx, currentModule) {
27
34
  case 'named_module':
28
35
  nextModule = handleNamedModule(node, ctx);
29
36
  break;
37
+ case 'module_defn':
38
+ // Nested signature module (`module Foo = ...`) in `.fsi` files,
39
+ // emitted by both the WASM (npm ionide tarball v0.3.0) and cargo
40
+ // v0.3.0 tree-sitter-fsharp signature grammars. Accumulate the
41
+ // dotted module path so nested `val` declarations are qualified
42
+ // as `Outer.Inner.foo` in parity with the native engine.
43
+ nextModule = handleModuleDefn(node, ctx, currentModule);
44
+ break;
30
45
  case 'function_declaration_left':
31
46
  handleFunctionDecl(node, ctx, currentModule);
32
47
  break;
@@ -42,6 +57,9 @@ function walkFSharpNode(node, ctx, currentModule) {
42
57
  case 'dot_expression':
43
58
  handleDotExpression(node, ctx);
44
59
  break;
60
+ case 'value_definition':
61
+ handleValueDefinition(node, ctx, currentModule);
62
+ break;
45
63
  }
46
64
  for (let i = 0; i < node.childCount; i++) {
47
65
  const child = node.child(i);
@@ -61,6 +79,22 @@ function handleNamedModule(node, ctx) {
61
79
  });
62
80
  return nameNode.text;
63
81
  }
82
+ function handleModuleDefn(node, ctx, currentModule) {
83
+ // `module_defn` (cargo 0.3.0 signature grammar) wraps `module Foo = ...`
84
+ // sections inside an outer `namespace` or another module. The name is a
85
+ // direct `identifier` child.
86
+ const nameNode = findChild(node, 'identifier');
87
+ if (!nameNode)
88
+ return currentModule;
89
+ const qualified = currentModule ? `${currentModule}.${nameNode.text}` : nameNode.text;
90
+ ctx.definitions.push({
91
+ name: qualified,
92
+ kind: 'module',
93
+ line: node.startPosition.row + 1,
94
+ endLine: nodeEndLine(node),
95
+ });
96
+ return qualified;
97
+ }
64
98
  function handleFunctionDecl(node, ctx, currentModule) {
65
99
  // function_declaration_left: "add x y" — first child is the name identifier
66
100
  const nameNode = findChild(node, 'identifier');
@@ -215,4 +249,64 @@ function handleDotExpression(node, ctx) {
215
249
  ctx.calls.push(call);
216
250
  }
217
251
  }
252
+ // Handle `val name : type` declarations in `.fsi` signature files.
253
+ // The signature grammar reuses `value_definition` for `val` bindings,
254
+ // distinguished from the source grammar's `let` bindings by the first
255
+ // child being the literal `val` keyword. Source-file `value_definition`
256
+ // nodes (which start with `let`) are intentionally ignored to preserve
257
+ // `.fs` extractor parity.
258
+ function handleValueDefinition(node, ctx, currentModule) {
259
+ const first = node.child(0);
260
+ if (!first || first.type !== 'val')
261
+ return;
262
+ const declLeft = findChild(node, 'value_declaration_left');
263
+ if (!declLeft)
264
+ return;
265
+ const pattern = findChild(declLeft, 'identifier_pattern');
266
+ if (!pattern)
267
+ return;
268
+ const ident = findChild(findChild(pattern, 'long_identifier_or_op') ?? pattern, 'identifier') ??
269
+ findChild(pattern, 'identifier');
270
+ if (!ident)
271
+ return;
272
+ // The npm and cargo tree-sitter-fsharp 0.3.0 grammars — though sharing a
273
+ // version tag — emit type signatures with different node shapes:
274
+ // • WASM (npm 0.3.0 ionide tarball): `function_type` is the explicit
275
+ // function-type kind, present as a direct child of `value_definition`
276
+ // for `a -> b` types; plain values (e.g. `val pi : float`) appear as
277
+ // `simple_type`.
278
+ // • Native (cargo 0.3.0): every type signature is wrapped in
279
+ // `curried_spec`. A function type contains one or more `arguments_spec`
280
+ // children; a plain value wraps a single `simple_type`.
281
+ // Classify as a function whenever `function_type` appears OR a
282
+ // `curried_spec` contains an `arguments_spec` child, so both engines stay
283
+ // in parity until the grammars converge.
284
+ let hasFunctionType = false;
285
+ for (let i = 0; i < node.childCount; i++) {
286
+ const c = node.child(i);
287
+ if (!c)
288
+ continue;
289
+ if (c.type === 'function_type') {
290
+ hasFunctionType = true;
291
+ break;
292
+ }
293
+ if (c.type === 'curried_spec') {
294
+ for (let j = 0; j < c.childCount; j++) {
295
+ if (c.child(j)?.type === 'arguments_spec') {
296
+ hasFunctionType = true;
297
+ break;
298
+ }
299
+ }
300
+ if (hasFunctionType)
301
+ break;
302
+ }
303
+ }
304
+ const name = currentModule ? `${currentModule}.${ident.text}` : ident.text;
305
+ ctx.definitions.push({
306
+ name,
307
+ kind: hasFunctionType ? 'function' : 'variable',
308
+ line: node.startPosition.row + 1,
309
+ endLine: nodeEndLine(node),
310
+ });
311
+ }
218
312
  //# sourceMappingURL=fsharp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fsharp.js","sourceRoot":"","sources":["../../src/extractors/fsharp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsharp.js","sourceRoot":"","sources":["../../src/extractors/fsharp.ts"],"names":[],"mappings":"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"}
@@ -72,12 +72,14 @@ function handleExternalFunction(node, ctx) {
72
72
  const nameNode = node.childForFieldName('name') || findChild(node, 'identifier');
73
73
  if (!nameNode)
74
74
  return;
75
+ const params = extractParams(node);
75
76
  ctx.definitions.push({
76
77
  name: nameNode.text,
77
78
  kind: 'function',
78
79
  line: node.startPosition.row + 1,
79
80
  endLine: nodeEndLine(node),
80
81
  visibility: isPublic(node) ? 'public' : 'private',
82
+ children: params.length > 0 ? params : undefined,
81
83
  });
82
84
  }
83
85
  function handleTypeDef(node, ctx) {
@@ -178,7 +180,7 @@ function handleImport(node, ctx) {
178
180
  });
179
181
  }
180
182
  function handleCall(node, ctx) {
181
- const funcNode = node.childForFieldName('function') || node.child(0);
183
+ const funcNode = node.childForFieldName('function') || node.namedChild(0);
182
184
  if (!funcNode)
183
185
  return;
184
186
  if (funcNode.type === 'identifier' || funcNode.type === 'variable') {
@@ -186,7 +188,9 @@ function handleCall(node, ctx) {
186
188
  }
187
189
  else if (funcNode.type === 'field_access' || funcNode.type === 'module_select') {
188
190
  const field = funcNode.childForFieldName('field') || funcNode.childForFieldName('label');
189
- const record = funcNode.child(0);
191
+ // Prefer the `record` field; fall back to first named child to skip
192
+ // anonymous punctuation tokens (the `.` between record and field).
193
+ const record = funcNode.childForFieldName('record') || funcNode.namedChild(0);
190
194
  if (field) {
191
195
  const call = { name: field.text, line: node.startPosition.row + 1 };
192
196
  if (record && record !== field)
@@ -1 +1 @@
1
- {"version":3,"file":"gleam.js","sourceRoot":"","sources":["../../src/extractors/gleam.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gleam.js","sourceRoot":"","sources":["../../src/extractors/gleam.ts"],"names":[],"mappings":"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"}