bors[bot]
c8a73fe655
Merge #6982
...
6982: Remove parentheses when inverting `!(cond)` r=matklad a=Jesse-Bakker
Followup to #6894
When inverting a composite condition twice, the parentheses were left. This also removes those unnecessary parentheses when applying the invert-if assist.
Co-authored-by: Jesse Bakker <github@jessebakker.com>
2020-12-21 16:57:49 +00:00
Jesse Bakker
2e7abf8384
Remove parentheses when inverting !(cond)
2020-12-21 17:37:38 +01:00
Lukas Wirth
a4f34e2c8c
Acquire original text range when searching for references
2020-12-21 17:28:47 +01:00
Jonas Schievink
ee8d7a7123
Filter out empty rustc spans
2020-12-21 15:38:27 +01:00
bors[bot]
9bb9fbab3a
Merge #6965
...
6965: Properly attach attributes to Param instead of parent ParamList r=matklad a=Veykril
Fixes #2783 , fixes #2781
The problem with `let _a = [0,#[cfg(feature = "L")]0];` has already been fixed some time ago it seems:
<details>
<summary>Syntax Tree for the const item</summary>
```
LET_STMT@200..236
LET_KW@200..203 "let"
WHITESPACE@203..204 " "
IDENT_PAT@204..206
NAME@204..206
IDENT@204..206 "_a"
WHITESPACE@206..207 " "
EQ@207..208 "="
WHITESPACE@208..209 " "
ARRAY_EXPR@209..235
L_BRACK@209..210 "["
LITERAL@210..211
INT_NUMBER@210..211 "0"
COMMA@211..212 ","
LITERAL@212..234
ATTR@212..233
POUND@212..213 "#"
L_BRACK@213..214 "["
PATH@214..217
PATH_SEGMENT@214..217
NAME_REF@214..217
IDENT@214..217 "cfg"
TOKEN_TREE@217..232
L_PAREN@217..218 "("
IDENT@218..225 "feature"
WHITESPACE@225..226 " "
EQ@226..227 "="
WHITESPACE@227..228 " "
STRING@228..231 "\"L\""
R_PAREN@231..232 ")"
R_BRACK@232..233 "]"
INT_NUMBER@233..234 "0"
R_BRACK@234..235 "]"
SEMICOLON@235..236 ";"
```
</details>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:54:31 +00:00
bors[bot]
fa75e11eb6
Merge #6967
...
6967: Correctly parse legacy trait objects with leading ForType r=matklad a=Veykril
Fixes #1422
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-21 08:46:42 +00:00
Lukas Wirth
3ea4d43850
Properly parse legacy trait objects with leading ForType
2020-12-20 21:53:55 +01:00
Lukas Wirth
64caa027b8
Parse attributes in tuple expressions
2020-12-20 21:01:36 +01:00
Lukas Wirth
4be9ed675e
Properly attach attributes to Param instead of parent ParamList
2020-12-20 20:30:18 +01:00
bors[bot]
8eea4c9d3b
Merge #6959
...
6959: Use pattern_single instead of pattern in mbe pat r=jonas-schievink a=edwin0cheng
Fix #6882
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-20 14:08:53 +00:00
bors[bot]
eefbae7ed4
Merge #6921
...
6921: Higher-ranked trait bounds for where clauses r=flodiebold a=Veykril
There is a slight problem with this which is also noted in a FIXME now but `LifetimeParameters` of these ForLifetime where clauses allocate the lifetimes in the corresponding arena as if they were lifetimes of the item itself and not just the clause they belong to. I wasn't entirely sure what I could do about this but given nothing really uses lifetimes like that currently I figured it might be fine? Open to suggestions for that problem.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2020-12-20 11:47:01 +00:00
Edwin Cheng
f942d10e80
Use pattern_single instead of pattern in mbe pat
2020-12-20 17:13:40 +08:00
Aleksey Kladov
f6ed16674c
Align code_model name with ungrammar
2020-12-20 10:05:24 +03:00
bors[bot]
87886e8986
Merge #6929
...
6929: Handle $_ in mbe r=edwin0cheng a=lnicola
Fixes #6926
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2020-12-20 06:33:19 +00:00
Laurențiu Nicola
75a26f64ff
mbe: treat _ as ident
2020-12-20 08:06:17 +02:00
bors[bot]
feff4f3a04
Merge #6953
...
6953: Add test_rename_bind_pat r=bjorn3 a=bjorn3
Fixes #2976
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-19 18:56:50 +00:00
bjorn3
9fe85e1fdf
Add test_rename_bind_pat
2020-12-19 19:55:44 +01:00
bors[bot]
052e7227b6
Merge #6946
...
6946: Better fuzzy heuristics r=matklad a=SomeoneToIgnore
Continuation of the https://github.com/rust-analyzer/rust-analyzer/pull/6922 , mainly created for a test.
Turns out our current completions tests were sorting the completions by label, I had to remove that to test the order properly and update this order in a bunch of tests (ergo the changes)
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2020-12-19 18:43:20 +00:00
Kirill Bulatov
b45ec84739
Fewer allocations
2020-12-19 20:42:16 +02:00
Aleksey Kladov
9f6d76da77
Make sure that HighlightModifier::ALL is synchronized with enum
2020-12-19 18:47:36 +03:00
bors[bot]
df3652b663
Merge #6948
...
6948: Add API for mapping `Attr` back to its syntax node r=jonas-schievink a=jonas-schievink
This will be useful for emitting diagnostics pertaining to a specific attribute
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-19 14:25:33 +00:00
Aleksey Kladov
113688cef0
Clarify the meaning of no-op highlight tag
2020-12-19 17:16:05 +03:00
Jonas Schievink
218e88ab55
Add API for mapping Attr
back to its syntax node
2020-12-19 15:15:02 +01:00
Aleksey Kladov
a13947abe6
Use more Rustic highlighting specifiers
...
*Method* works for OO languages, but in rust we can also have
associated constants & types, so let's move this to a modifier.
2020-12-19 17:10:47 +03:00
Kirill Bulatov
0415dcd832
Tidy up
2020-12-19 14:13:27 +02:00
Kirill Bulatov
8c292e3cc5
Keep the original completion order in tests
2020-12-19 13:18:40 +02:00
Kirill Bulatov
5fa078f26f
Add a slightly better fuzzy search heuristics
2020-12-19 12:54:17 +02:00
Jonas Schievink
a2062d1892
Make RawAttrs
crate-private
...
There should be no need to use this from outside
2020-12-19 02:44:22 +01:00
Jonas Schievink
81ccf37d3b
Remove Attrs::merge
...
Only the `RawAttrs` version of this is in use
2020-12-19 02:43:00 +01:00
Jonas Schievink
0ac75f8982
Remove resolved FIXME
2020-12-19 02:32:31 +01:00
Jonas Schievink
aa00d1acd6
fixture -> ra_fixture
2020-12-19 01:12:41 +01:00
Jonas Schievink
d5edd0e928
Test paths to derive macros
2020-12-19 01:11:33 +01:00
Jonas Schievink
ea5cc8d07a
More accurate #[derive]
parsing
...
This now allows full paths to the derive macro
2020-12-19 01:10:56 +01:00
bors[bot]
c7b7c37ea5
Merge #6937
...
6937: Deduplicate highlight tags and symbol kinds r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-12-18 20:05:20 +00:00
Aleksey Kladov
c45221907a
Deduplicate highlight tags and symbol kinds
...
Curiously, LSP uses different enums for those, and unsurprising and
annoyingly, there are things which exist in one but not in the other.
Let's not repeat the mistake and unify the two things
2020-12-18 23:04:26 +03:00
bors[bot]
38b108c20e
Merge #6935
...
6935: Don't look at attributes when lowering to ItemTree r=jonas-schievink a=jonas-schievink
Resolves 2 `cfg_attr` FIXMEs
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-18 19:38:07 +00:00
Jonas Schievink
77972e2001
Don't look at attributes when lowering to ItemTree
...
Resolves 2 `cfg_attr` FIXMEs
2020-12-18 20:37:26 +01:00
bors[bot]
c073e4f6ba
Merge #6934
...
6934: Implement `cfg_attr` handling r=jonas-schievink a=jonas-schievink
Part of https://github.com/rust-analyzer/rust-analyzer/issues/5548
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2020-12-18 19:27:18 +00:00
Jonas Schievink
aab9cc9cfb
Hit a mark
2020-12-18 20:25:41 +01:00
Jonas Schievink
382ee2fa03
Add test
2020-12-18 20:01:02 +01:00
Jonas Schievink
d42d1d33f0
Fix parsing of active cfg_attr
2020-12-18 20:00:59 +01:00
Aleksey Kladov
ade2f5cd12
Reduce test verbosity
2020-12-18 21:26:47 +03:00
Aleksey Kladov
0e3581e823
NavTarget doesn't assume that it points to a symbol
2020-12-18 21:15:48 +03:00
Jonas Schievink
08de1b4fa5
Implement RawAttr::filter
2020-12-18 18:58:42 +01:00
Aleksey Kladov
cd4a7bf36e
Minor, cleanup API
2020-12-18 19:50:00 +03:00
Aleksey Kladov
55ba353b39
Don't expose SyntaxKind from IDE API
...
SyntaxKind is somewhat of an internal type, but IDE is using it to
basically specify an icon. Let's have a dedicated entity for this
instead.
2020-12-18 19:28:48 +03:00
Aleksey Kladov
2465fa02b7
Cleaup imports
...
ide should re-export everything it needs.
2020-12-18 18:02:11 +03:00
Jesse Bakker
700034bd5a
Do not merge imports with different attributes
2020-12-18 15:29:37 +01:00
bors[bot]
f4929fa9cc
Merge #6901
...
6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng
There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](479d1f7eec/crates/hir/src/has_source.rs (L116)
) line to panic.
This PR is a temp fix for all of these similar to bd4c352831/crates/completion/src/render/macro_.rs (L42)
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-12-18 02:30:51 +00:00
Edwin Cheng
60a3785ac2
Temp fixes panic caused by no ast for proc-macro
2020-12-18 10:26:17 +08:00