about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonas Schievink <jonas.schievink@ferrous-systems.com>2022-05-16 15:23:25 +0200
committerJonas Schievink <jonas.schievink@ferrous-systems.com>2022-05-16 15:23:25 +0200
commitfccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d (patch)
tree8f00d8bc0d7a0f2a4fed1eea668a3148962f16d6
parent867a7dc7a0aa89d65ebd6624c28aaa42b441022f (diff)
downloadrust-fccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d.tar.gz
rust-fccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d.zip
Add closing brace hints for macros
-rw-r--r--crates/ide/src/inlay_hints.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/crates/ide/src/inlay_hints.rs b/crates/ide/src/inlay_hints.rs
index 75fad027596..d8769aacfc5 100644
--- a/crates/ide/src/inlay_hints.rs
+++ b/crates/ide/src/inlay_hints.rs
@@ -209,6 +209,14 @@ fn closing_brace_hints(
                 _ => return None,
             }
         }
+    } else if let Some(mac) = ast::MacroCall::cast(node.clone()) {
+        let last_token = mac.syntax().last_token()?;
+        if last_token.kind() != T![;] && last_token.kind() != SyntaxKind::R_CURLY {
+            return None;
+        }
+        closing_token = last_token;
+
+        format!("{}!", mac.path()?)
     } else {
         return None;
     };
@@ -2433,6 +2441,22 @@ const _: () = {
 mod m {
   }
 //^ mod m
+
+m! {}
+m!();
+m!(
+ );
+//^ m!
+
+m! {
+  }
+//^ m!
+
+fn f() {
+    let v = vec![
+    ];
+  }
+//^ fn f
 "#,
         );
     }