diff options
| author | Jonas Schievink <jonas.schievink@ferrous-systems.com> | 2022-05-16 15:23:25 +0200 |
|---|---|---|
| committer | Jonas Schievink <jonas.schievink@ferrous-systems.com> | 2022-05-16 15:23:25 +0200 |
| commit | fccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d (patch) | |
| tree | 8f00d8bc0d7a0f2a4fed1eea668a3148962f16d6 | |
| parent | 867a7dc7a0aa89d65ebd6624c28aaa42b441022f (diff) | |
| download | rust-fccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d.tar.gz rust-fccc12982e6c05b49cb1ddd70ce2fc0b4600ed8d.zip | |
Add closing brace hints for macros
| -rw-r--r-- | crates/ide/src/inlay_hints.rs | 24 |
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 "#, ); } |
