]> git.lizzy.rs Git - rust.git/commit
Merge #11193
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>
Thu, 6 Jan 2022 12:53:49 +0000 (12:53 +0000)
committerGitHub <noreply@github.com>
Thu, 6 Jan 2022 12:53:49 +0000 (12:53 +0000)
commit8887d2016f2e87332e4de216aaf0b5d125e0fe11
tree297fd1294d529f94a60c89ba32864ee31799c532
parent7111c27cec76e88cbb485946881a8d6204bd8b8e
parentf6eba28ef811c1804723f6ea8334094b268ad3bd
Merge #11193

11193: feat: Add config to replace specific proc-macros with dummy expanders r=Veykril a=Veykril

With this one can specify proc-macros from crates to expand into their input as a (temporary) workaround for the current completion problems with some of the bigger attribute proc-macros like `async_trait`.

This could've been done by just not expanding these macros, but that would require fiddling with nameres. I felt like this approach was simpler to pull off while also keeping the behaviour of the attributes/proc-macro in that they still expand instead of being dead syntax to us.

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11052

Usage(`async_trait` as example):
```jsonc
    "rust-analyzer.procMacro.dummies": {
        "async-trait": [ // crate name(as per its cargo.toml definition, not the dependency name)
            "async_trait" // exported proc-macro name
        ]
    },
```

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>