]> git.lizzy.rs Git - rust.git/commitdiff
show macros in file structure
authorEkaterina Babshukova <ekaterina.babshukova@yandex.ru>
Fri, 28 Jun 2019 21:08:02 +0000 (00:08 +0300)
committerEkaterina Babshukova <ekaterina.babshukova@yandex.ru>
Fri, 28 Jun 2019 21:08:02 +0000 (00:08 +0300)
crates/ra_ide_api/src/display/snapshots/tests__file_structure.snap
crates/ra_ide_api/src/display/structure.rs

index 3097977de6dc1725203d7c761c098c9c00ac616c..102efc0267506d39d615094c19dbf229a6126aea 100644 (file)
@@ -1,5 +1,5 @@
 ---
-created: "2019-05-23T22:23:35.168422050Z"
+created: "2019-06-28T20:46:18.274464142Z"
 creator: insta@0.8.1
 source: crates/ra_ide_api/src/display/structure.rs
 expression: structure
@@ -157,11 +157,20 @@ expression: structure
         detail: None,
         deprecated: false,
     },
+    StructureNode {
+        parent: None,
+        label: "mc",
+        navigation_range: [284; 286),
+        node_range: [271; 303),
+        kind: MACRO_CALL,
+        detail: None,
+        deprecated: false,
+    },
     StructureNode {
         parent: None,
         label: "obsolete",
-        navigation_range: [288; 296),
-        node_range: [271; 301),
+        navigation_range: [322; 330),
+        node_range: [305; 335),
         kind: FN_DEF,
         detail: Some(
             "fn()",
@@ -171,8 +180,8 @@ expression: structure
     StructureNode {
         parent: None,
         label: "very_obsolete",
-        navigation_range: [341; 354),
-        node_range: [303; 359),
+        navigation_range: [375; 388),
+        node_range: [337; 393),
         kind: FN_DEF,
         detail: Some(
             "fn()",
index 24ab7b59cfe78b79c816da7a5acf2715b5bd71ad..e5057e833fdc4a4c6811784e1a9feb497c1c7abb 100644 (file)
@@ -142,6 +142,13 @@ fn collapse_ws(node: &SyntaxNode, output: &mut String) {
             };
             Some(node)
         })
+        .visit(|mc: &ast::MacroCall| {
+            let first_token = mc.syntax().first_token().unwrap();
+            if first_token.text().as_str() != "macro_rules" {
+                return None;
+            }
+            decl(mc)
+        })
         .accept(node)?
 }
 
@@ -177,6 +184,10 @@ impl E {}
 
 impl fmt::Debug for E {}
 
+macro_rules! mc {
+    () => {}
+}
+
 #[deprecated]
 fn obsolete() {}