diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-06-03 17:17:25 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-06-03 17:17:25 +0100 |
commit | 14153671caaca852c94bd1d0d7f279acb8eb1913 (patch) | |
tree | eb377999a5e8677c210791440b18593f909198e6 /editors | |
parent | 7f9c4a59d9a84cd8c734286937439b5cd215be27 (diff) | |
parent | 17565f4deafab800d8d87208cff1e27d028e9b0e (diff) |
Merge #9128
9128: feat: expand procedural attribute macros r=jonas-schievink a=jonas-schievink
This adds experimental support for attribute macros. They can be enabled by setting `rust-analyzer.experimental.procAttrMacros` to `true`.
Known issues:
* Tokens aren't remapped, presumably because we edit the input syntax tree (this causes IDE features to not work inside items with attribute macros on them)
* Macro errors aren't reported correctly
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8971
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8964 / https://github.com/la10736/rstest/issues/120
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2984
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/5412
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6029
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6687
https://github.com/rust-analyzer/rust-analyzer/issues/6740 is still not fixed – we now expand `#[proc_macro_hack]`, but fail to expand the resulting `proc_macro_call!()` macro.
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'editors')
-rw-r--r-- | editors/code/package.json | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/editors/code/package.json b/editors/code/package.json index 4a5070d02..bffc1e05b 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -617,6 +617,11 @@ | |||
617 | "type": "string" | 617 | "type": "string" |
618 | } | 618 | } |
619 | }, | 619 | }, |
620 | "rust-analyzer.experimental.procAttrMacros": { | ||
621 | "markdownDescription": "Expand attribute macros.", | ||
622 | "default": false, | ||
623 | "type": "boolean" | ||
624 | }, | ||
620 | "rust-analyzer.files.watcher": { | 625 | "rust-analyzer.files.watcher": { |
621 | "markdownDescription": "Controls file watching implementation.", | 626 | "markdownDescription": "Controls file watching implementation.", |
622 | "default": "client", | 627 | "default": "client", |