From 8e8589b5e845bb6667fd27f6f9ffcc376f35be2b Mon Sep 17 00:00:00 2001 From: adit Date: Thu, 8 Jan 2026 16:29:45 +0700 Subject: [PATCH] fix: split duplicate value field in Dart tree-sitter query pattern --- .../parseSourceCodeDefinitions.dart.spec.ts | 14 ++++++++++++++ src/services/tree-sitter/queries/dart.ts | 7 ++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/services/tree-sitter/__tests__/parseSourceCodeDefinitions.dart.spec.ts b/src/services/tree-sitter/__tests__/parseSourceCodeDefinitions.dart.spec.ts index 873a70ff0f..5270adadbe 100644 --- a/src/services/tree-sitter/__tests__/parseSourceCodeDefinitions.dart.spec.ts +++ b/src/services/tree-sitter/__tests__/parseSourceCodeDefinitions.dart.spec.ts @@ -257,4 +257,18 @@ class StringBuilder { it("should handle static methods and properties", () => { expect(parseResult).toMatch(/static double circleArea/) }) + + it("should parse variable initialization with identifier reference", () => { + expect(parseResult).toMatch(/var instance = MyClass/) + expect(parseResult).toMatch(/var status = Status/) + }) + + it("should parse variable initialization with method calls", () => { + expect(parseResult).toMatch(/var logger = LoggerFactory\.create\(\)/) + }) + + it("should parse reference patterns", () => { + expect(parseResult).toMatch(/instance\.greet/) + expect(parseResult).toMatch(/status\.displayName/) + }) }) diff --git a/src/services/tree-sitter/queries/dart.ts b/src/services/tree-sitter/queries/dart.ts index 3b7823f324..27718cbdce 100644 --- a/src/services/tree-sitter/queries/dart.ts +++ b/src/services/tree-sitter/queries/dart.ts @@ -70,9 +70,14 @@ export default ` (new_expression (type_identifier) @name) @reference.class +; Variables initialized with identifier reference +(initialized_variable_definition + name: (identifier) + value: (identifier) @name) @reference.class + +; Variables initialized with selector/method call (initialized_variable_definition name: (identifier) - value: (identifier) @name value: (selector "!"? (argument_part