update embedding query for tsx to accomodate for leading comments

KCaverly created

Change summary

crates/zed/src/languages/tsx/embedding.scm | 83 +++++++++++++++--------
1 file changed, 52 insertions(+), 31 deletions(-)

Detailed changes

crates/zed/src/languages/tsx/embedding.scm 🔗

@@ -1,35 +1,56 @@
-(enum_declaration
-    "enum" @context
-    name: (_) @name) @item
+(
+    (comment)* @context
+    .
+    (enum_declaration
+        "enum" @context
+        name: (_) @name) @item
+    )
 
-(function_declaration
-    "async"? @context
-    "function" @context
-    name: (_) @name) @item
-
-(interface_declaration
-    "interface" @context
-    name: (_) @name) @item
+(
+    (comment)* @context
+    .
+    [
+        (export_statement
+            (function_declaration
+                "async"? @name
+                "function" @name
+                name: (_) @name)
+            ) @item
+        (function_declaration
+            "async"? @name
+            "function" @name
+            name: (_) @name) @item
+        ])
 
-(program
-    (lexical_declaration
-        ["let" "const"] @context
-        (variable_declarator
-            name: (_) @name) @item))
+(
+    (comment)* @context
+    .
+    (interface_declaration
+        "interface" @name
+        name: (_) @name) @item
+    )
 
-(class_declaration
-    "class" @context
-    name: (_) @name) @item
+(
+    (comment)* @context
+    .
+    (class_declaration
+        "class" @name
+        name: (_) @name) @item
+    )
 
-(method_definition
-    [
-        "get"
-        "set"
-        "async"
-        "*"
-        "readonly"
-        "static"
-        (override_modifier)
-        (accessibility_modifier)
-        ]* @context
-    name: (_) @name) @item
+(
+    (comment)* @context
+    .
+    (method_definition
+        [
+            "get"
+            "set"
+            "async"
+            "*"
+            "readonly"
+            "static"
+            (override_modifier)
+            (accessibility_modifier)
+            ]* @name
+        name: (_) @name) @item
+    )