bors[bot]
247faf271b
Merge #9027
...
9027: feat: Attribute completion is context aware r=Veykril a=Veykril
This splits off the `lint` and `derive` completions into their own submodules of `attribute`.
The idea is to create a lazy global hashmap that maps `SyntaxKind` to attribute names(`&[&str]`) in which we index with the syntax kind of the "thing" we are attributing giving us the attributes back that are valid for this kind. Then we use this name to do a binary search on the attribute list to fetch and build the corresponding completion item.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-29 12:14:16 +00:00
Lukas Wirth
c9f0f47bbb
simplify
2021-05-29 14:02:06 +02:00
bors[bot]
7869b01b70
Merge #9041
...
9041: internal: Implement prev sibling determination for `CompletionContext ` r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-28 21:21:37 +00:00
Lukas Wirth
e42c448077
More completion pattern tests
2021-05-28 22:19:52 +02:00
Lukas Wirth
47ad752e6c
Implement prev sibling determination for CompletionContext
2021-05-28 22:03:31 +02:00
Lukas Wirth
a6b92a8cc0
simplify
2021-05-28 20:46:09 +02:00
bors[bot]
d5f7b2e52a
Merge #9028
...
9028: only advertise range formatting support if enabled r=Veykril a=euclio
Fixes #9009 .
Co-authored-by: Andy Russell <arussell123@gmail.com>
2021-05-28 15:26:20 +00:00
bors[bot]
2968731fd5
Merge #9040
...
9040: Don't label derive macros with their banged_name r=Veykril a=Veykril
cc https://github.com/rust-analyzer/rust-analyzer/issues/7072#issuecomment-850396203
This doesn't fix it non builtin derives yet I think cause of a FIXME somewhere that doesn't categorize proc-macro derives as derives yet
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-28 12:59:54 +00:00
Lukas Wirth
439ae17e1b
Don't label derive macros with their banged_name
2021-05-28 14:59:24 +02:00
bors[bot]
b5d41ba0e2
Merge #9038
...
9038: Folding range for return types r=Veykril a=MozarellaMan
For issue #8957
![return type fold](https://user-images.githubusercontent.com/48062697/119979082-5c62e100-bfb2-11eb-9729-1dea1ce74de1.gif )
Co-authored-by: Ayomide Bamidele <48062697+MozarellaMan@users.noreply.github.com>
2021-05-28 12:16:18 +00:00
Ayomide Bamidele
b4e936f8f0
Test for correct amount of emitted folds
2021-05-28 13:10:41 +01:00
Ayomide Bamidele
156d995423
Folding range for return types
2021-05-28 12:39:02 +01:00
bors[bot]
613649e631
Merge #9037
...
9037: minor: Move runnable lenses below attributes r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-28 11:03:18 +00:00
Lukas Wirth
61b4456752
Move runnable lenses below attributes
2021-05-28 13:02:42 +02:00
bors[bot]
80fdb13c47
Merge #9036
...
9036: Remove undocumented `TextDocumentSyncKind::Full` support r=matklad a=lnicola
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-05-28 10:36:13 +00:00
Laurențiu Nicola
2dee5930e0
Remove undocumented TextDocumentSyncKind::Full
support
2021-05-28 13:01:04 +03:00
bors[bot]
bca00ac340
Merge #9033
...
9033: Complete keywords in (Assoc)ItemList with leading attribute r=Veykril a=Veykril
Fixes #7673
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-28 01:21:45 +00:00
Lukas Wirth
1894db49b1
Complete keywords in (Assoc)ItemList with leading attribute
2021-05-28 03:20:55 +02:00
bors[bot]
3a1598c3bc
Merge #9032
...
9032: Only complete modules in empty use-statements r=Veykril a=Veykril
bors r+
Part of #8518
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-28 00:43:16 +00:00
Lukas Wirth
9e71dd9799
Only complete modules in empty use-statements
2021-05-28 02:42:47 +02:00
Lukas Wirth
411eee7614
Add another attribute completion test
2021-05-28 01:09:22 +02:00
Lukas Wirth
0724bd0f21
Add attribute completion tests
2021-05-28 01:02:41 +02:00
bors[bot]
5b4589f474
Merge #9029
...
9029: minor: test that `ItemTree` makes `hir_def` queries syntax-independent r=jonas-schievink a=jonas-schievink
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-27 22:47:04 +00:00
Jonas Schievink
55f3ca2b74
Test that ItemTree
works as intended
2021-05-28 00:46:05 +02:00
Lukas Wirth
594270be49
tt muncher time
2021-05-28 00:35:21 +02:00
Lukas Wirth
ab9c6ea4dd
Split attribute completion module into attribute, derive and lint modules
2021-05-27 23:40:33 +02:00
Andy Russell
a0cd7fe242
only advertise range formatting support if enabled
2021-05-27 17:36:13 -04:00
Lukas Wirth
fc37e2f953
Attribute completion is context aware
2021-05-27 23:28:14 +02:00
bors[bot]
01bfc5f5c0
Merge #9026
...
9026: Complete modules in assoc item lists r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-27 19:13:34 +00:00
Lukas Wirth
ea251cbd4a
Complete modules in item lists
2021-05-27 21:12:50 +02:00
Lukas Wirth
7ad378fec0
Complete modules in assoc item lists
2021-05-27 20:53:38 +02:00
Jonas Schievink
26b4777e1f
Move hir_ty incremental test to its own file
2021-05-27 20:21:52 +02:00
bors[bot]
a2940c42c0
Merge #9020
...
9020: fix: Don't complete non-macro item paths in impls and modules r=Veykril a=Veykril
Part of #8518
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-27 16:34:46 +00:00
Laurențiu Nicola
aabbc84957
Display unknown types in analysis-stats
2021-05-27 19:30:28 +03:00
Lukas Wirth
3a16950fd9
Cleanup ImmediateLocation
determination
2021-05-27 18:16:39 +02:00
bors[bot]
cc5d806921
Merge #9024
...
9024: internal: Don't store supertraits in ItemTree r=jonas-schievink a=lnicola
Closes #9010
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-05-27 14:27:56 +00:00
Laurențiu Nicola
2268a220e4
Don't store supertraits in ItemTree
2021-05-27 16:52:30 +03:00
Jonas Schievink
33debc4065
Update salsa
2021-05-27 15:05:41 +02:00
bors[bot]
d0a4ba294c
Merge #8997
...
8997: internal: stop expanding UseTrees during ItemTree lowering r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/8908
Messy diff, but `ItemTree` lowering got simpler, since we now have a strict 1-to-1 mapping between `ast::Item` and `ModItem`.
The most messy part is mapping a single `UseTree` back to its `ast::UseTree` counterpart for diagnostics, but I think the ad-hoc source map built during lowering does the job.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-05-27 11:56:26 +00:00
Jonas Schievink
196cb65ead
Drop ignore
from doctests
2021-05-27 13:55:31 +02:00
Lukas Wirth
f41c983424
Don't complete non-macro item paths in impls and modules
2021-05-27 12:23:36 +02:00
bors[bot]
bfb06e17ac
Merge #9022
...
9022: internal: disable debuginfo afterall r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-27 08:59:53 +00:00
Aleksey Kladov
7d8f701e99
internal: disable debuginfo afterall
2021-05-27 11:53:33 +03:00
bors[bot]
a9a978e0bb
Merge #9021
...
9021: internal: explain the motivation behind early configuration r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-27 08:17:10 +00:00
Aleksey Kladov
cabb679cbb
internal: explain the motivation behind early configuration
2021-05-27 11:16:14 +03:00
bors[bot]
7d1653dcdc
Merge #9005
...
9005: internal: Document semantic token tags r=matklad a=Veykril
Closes #6457
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-27 07:04:15 +00:00
bors[bot]
61ebc3572d
Merge #9019
...
9019: internal: simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-27 01:48:36 +00:00
Lukas Wirth
30948e1ecb
simplify
2021-05-27 03:47:20 +02:00
bors[bot]
12d46f835e
Merge #9018
...
9018: Collapse more CompletionContext booleans into enums r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-05-27 01:22:28 +00:00
Lukas Wirth
6ec4ea8d9e
simplify
2021-05-27 03:15:48 +02:00