move collapsed only matches outside item parent in embedding.scm

KCaverly created

Change summary

crates/semantic_index/src/semantic_index_tests.rs | 17 +++++++++++++++++
crates/zed/src/languages/rust/embedding.scm       |  5 +++--
2 files changed, 20 insertions(+), 2 deletions(-)

Detailed changes

crates/semantic_index/src/semantic_index_tests.rs 🔗

@@ -305,6 +305,11 @@ async fn test_code_context_retrieval_rust() {
                 todo!();
             }
         }
+
+        #[derive(Clone)]
+        struct D {
+            name: String
+        }
     "
     .unindent();
 
@@ -361,6 +366,15 @@ async fn test_code_context_retrieval_rust() {
                 .unindent(),
                 text.find("fn function_2").unwrap(),
             ),
+            (
+                "
+                #[derive(Clone)]
+                struct D {
+                    name: String
+                }"
+                .unindent(),
+                text.find("struct D").unwrap(),
+            ),
         ],
     );
 }
@@ -1422,6 +1436,9 @@ fn rust_lang() -> Arc<Language> {
                         name: (_) @name)
                 ] @item
             )
+
+            (attribute_item) @collapse
+            (use_declaration) @collapse
             "#,
         )
         .unwrap(),

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

@@ -2,8 +2,6 @@
     [(line_comment) (attribute_item)]* @context
     .
     [
-        (attribute_item) @collapse
-        (use_declaration) @collapse
 
         (struct_item
             name: (_) @name)
@@ -29,3 +27,6 @@
             name: (_) @name)
         ] @item
     )
+
+(attribute_item) @collapse
+(use_declaration) @collapse