bors[bot]
cc7cfc5d3d
Merge #9186
...
9186: fix: Prefer attr macros in "expand macro recursively" r=jonas-schievink a=jonas-schievink
This allows expanding attribute macros on fn-like macro invocations
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-08 21:08:58 +00:00
bors[bot]
a60978d172
Merge #9183
...
9183: Fix typo r=lnicola a=phynalle
Co-authored-by: phynalle <phynalism@gmail.com>
2021-06-08 20:47:10 +00:00
Jonas Schievink
fcf22d68d4
Prefer attr macros in "expand macro recursively"
2021-06-08 22:26:01 +02:00
bors[bot]
f1a40f9093
Merge #9187
...
9187: fix: Fix edge case for ImportGranularity guessing r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-08 20:18:54 +00:00
Lukas Wirth
31aad2528f
Fix edge case for ImportGranularity guessing
2021-06-08 22:14:30 +02:00
phynalle
e8a5fb434d
Fix typo
2021-06-09 04:51:28 +09:00
bors[bot]
b6199de706
Merge #9181 #9182
...
9181: Don't complete values in type position r=jonas-schievink a=Veykril
Will add some proper tests in a bit
9182: fix: don't complete derive macros as fn-like macros r=jonas-schievink a=jonas-schievink
Part of https://github.com/rust-analyzer/rust-analyzer/issues/8518
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-08 19:09:13 +00:00
Lukas Wirth
1a26af15ef
Add tests checking no value completion in type pos
2021-06-08 20:27:25 +02:00
Jonas Schievink
ee374ff1ee
fix: don't complete derive macros as fn-like macros
2021-06-08 17:31:47 +02:00
Lukas Wirth
1d74ef1d98
Don't complete values in type position
2021-06-08 16:50:10 +02:00
Jonas Schievink
8482329d65
source_to_def: skip items with no def
2021-06-08 16:42:48 +02:00
bors[bot]
590472607c
Merge #9171
...
9171: internal: simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-07 18:46:18 +00:00
Lukas Wirth
2987e05f15
simplify
2021-06-07 20:45:17 +02:00
bors[bot]
7f16b42188
Merge #9170
...
9170: internal: Remove unnecessary `completion::macro_in_item_position` module r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-07 17:47:23 +00:00
Lukas Wirth
b29e8ed994
Remove unnecessary completion::macro_in_item_position
2021-06-07 19:46:25 +02:00
bors[bot]
2f376f7475
Merge #9169
...
9169: internal: steps towards attribute macro token mapping r=jonas-schievink a=jonas-schievink
This doesn't work yet, but we seem to be getting a bit further along (for example, we now stop highlighting `use` items inside item with attribute macros as if they were written verbatim).
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-06-07 17:37:48 +00:00
Jonas Schievink
33be5762e5
Attempt to track attr macros during highlighting
2021-06-07 19:32:28 +02:00
Lukas Wirth
aa29364f83
Reorder CompletionContext fields
2021-06-07 19:06:03 +02:00
bors[bot]
1aff3b4dfc
Merge #9144
...
9144: Extend convert_tuple_struct_to_named_struct to also apply to enum tuple variants r=matklad a=joshuawarner32
This is largely copied and adapted from the existing `convert_tuple_struct_to_named_struct` code.
Not sure if maybe some of this code can/should be shared between those two assists - but the differences are significant enough to make it at least seem like a non-trivial refactor.
Co-authored-by: Joshua Warner <joshuawarner32@gmail.com>
2021-06-07 16:17:14 +00:00
Jonas Schievink
33e747d786
Make "expand macro" command work with attribute macros
2021-06-07 16:05:36 +02:00
bors[bot]
8b6c3eaaeb
Merge #9164
...
9164: internal: Reduce the number of direct fields in `CompletionContext` some more r=Veykril a=Veykril
Doesn't make the code much simpler yet.
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-07 12:17:28 +00:00
Lukas Wirth
4eabcb2c01
Move more things into PathCompletionContext
2021-06-07 14:08:05 +02:00
bors[bot]
5f7fc5ae68
Merge #9161
...
9161: Fix incorrect config usage in hover references r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-07 10:33:13 +00:00
Lukas Wirth
88bc4f17fd
Fix incorrect config usage in hover references
2021-06-07 12:32:25 +02:00
Laurențiu Nicola
15dd475988
Make Documentation::new non-generic
2021-06-07 12:58:51 +03:00
Jade
34ce05781f
feat: goto def on impl items also goes to the defn in the trait
...
It was trivial to extend this to associated consts/associated types and
I just didn't think of it.
2021-06-06 21:52:00 -07:00
Jade
8a57c73640
feat: goto definition on an impl fn goes to that fn in the trait
...
e.g. if you have a trait T and `impl T for S` for some struct, if you
goto definition on some function name inside the impl, it will go to the
definition of that function inside the `trait T` block, rather than the
current behaviour of not going anywhere at all.
2021-06-06 21:51:17 -07:00
Lukas Wirth
e475bcdcc6
Simplify CompletionContext by introducing a path CallKind enum
2021-06-06 20:02:26 +02:00
Jonas Schievink
8d87f9b298
Handle attribute macros in descend_into_macros
2021-06-06 17:03:37 +02:00
Jonas Schievink
1d5c60ff54
Replace attribute with equivalent whitespace
...
This is needed to that the `TokenMap` we create contains offsets that
match the source.
2021-06-06 16:48:13 +02:00
Joshua Warner
9b74dd0c04
fmt
2021-06-05 17:09:56 -07:00
Joshua Warner
18f796a728
Refactor to be just one assist
2021-06-05 15:29:29 -07:00
bors[bot]
d616a6a456
Merge #9149
...
9149: feat: Support goto-definition for include macros input path r=Veykril a=Veykril
![0l6l9iWPNE](https://user-images.githubusercontent.com/3757771/120891155-3fa85800-c607-11eb-9b20-7ac330dceb4b.gif )
Fixes #5871
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 19:26:33 +00:00
bors[bot]
b68407fab8
Merge #9150
...
9150: Unescape generated clippy lints r=lnicola a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 18:16:57 +00:00
bors[bot]
ad9234fef2
Merge #9140
...
9140: feat: Render documentation for derive completion r=Veykril a=Veykril
![eEzGiq2wNa](https://user-images.githubusercontent.com/3757771/120847308-9c5a3300-c573-11eb-958d-e0f22f4757ed.gif )
Nothing fancy as all the std derives aren't really documented though maybe some 3rd party crates document them equally to their trait counterparts.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 17:23:40 +00:00
Lukas Wirth
fc06058a76
Unescape generated clippy lints
2021-06-05 19:14:53 +02:00
Lukas Wirth
5391f9c63c
Support goto-definition for include macro paths
2021-06-05 19:04:50 +02:00
bors[bot]
5092d8c1ae
Merge #9147
...
9147: internal: enable proc macros and build scripts in cli r=flodiebold a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-06-05 12:29:52 +00:00
Laurențiu Nicola
18484365e6
Enable proc macros and build scripts by default in CLI
2021-06-05 15:20:41 +03:00
bors[bot]
4c54ec1c3c
Merge #9148
...
9148: minor: Prevent renaming of aliases on usages r=Veykril a=Veykril
Otherwise trying to rename a usage that goes through an alias will still rename the aliased item instead, cc https://github.com/rust-analyzer/rust-analyzer/issues/5671
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 11:16:46 +00:00
Lukas Wirth
d30f2d43db
Prevent renaming of aliases on usages
2021-06-05 13:15:07 +02:00
bors[bot]
fec00f4e13
Merge #9146
...
9146: minor: Fix incorrect list nesting in format_like feature description r=Veykril a=Veykril
bors r+
Closes #6261
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-05 10:44:36 +00:00
Lukas Wirth
abc941d2c8
Fix incorrect list nesting in format_like feature description
2021-06-05 12:43:45 +02:00
Florian Diebold
d174b919dc
Enable attribute macro expansion in analysis-stats
...
Before:
```
> $ rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 19.08s, 277minstr
crates: 34, mods: 688, decls: 13202, fns: 10412
Item Collection: 16.21s, 76ginstr
exprs: 290580, ??ty: 2508 (0%), ?ty: 1814 (0%), !ty: 947
Inference: 27.46s, 108ginstr
Total: 43.67s, 184ginstr
```
After:
```
> $ ./target/release/rust-analyzer -q analysis-stats --with-proc-macro --load-output-dirs .
Database loaded: 1.09s, 277minstr
crates: 34, mods: 688, decls: 14790, fns: 11006
Item Collection: 18.20s, 78ginstr
exprs: 297826, ??ty: 493 (0%), ?ty: 558 (0%), !ty: 342
Inference: 28.34s, 111ginstr
Total: 46.54s, 190ginstr
```
2021-06-05 11:29:24 +02:00
Joshua Warner
ca9ffba047
Add assist for converting a tuple enum variant to a named variant
2021-06-04 21:48:32 -07:00
Lukas Wirth
544eca10d6
Complete third-party attributes
2021-06-04 21:07:19 +02:00
Lukas Wirth
7524850831
Render documentation for derive completion
2021-06-04 20:58:12 +02:00
Lukas Wirth
1bd04d9064
Don't inline mutable locals in 'inline_local_variable'
2021-06-04 20:43:48 +02:00
bors[bot]
98395f29a4
Merge #9138
...
9138: feat: Implement hover for lints r=Veykril a=Veykril
fixes https://github.com/rust-analyzer/rust-analyzer/issues/8857 , fixes https://github.com/rust-analyzer/rust-analyzer/issues/3941
![URXBanNxYe](https://user-images.githubusercontent.com/3757771/120830905-4bd8da80-c55f-11eb-9f55-ff5a321726fa.gif )
We also generate the default lints(and lint groups 🎉 ) instead now by invoking `rustc -W help` and parsing the output from that.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-06-04 17:45:37 +00:00
Lukas Wirth
0c89f38378
Replace -
with _
in generated lint names
2021-06-04 19:10:52 +02:00