Yoshua Wuyts
efb4d45ebc
Update generate_delegate.rs
2021-10-13 23:59:23 +02:00
Yoshua Wuyts
c14a12edd7
create function
2021-10-13 20:13:36 +02:00
Ryan Levick
0ff89deb69
Add basic support for delegation
2021-10-13 18:05:09 +02:00
k-nasa
bd9bab87ed
fix
2021-10-13 23:07:49 +09:00
Dezhi Wu
214e7cc69d
merge use statement
2021-10-13 21:24:17 +08:00
Dezhi Wu
93ae993ec4
resolve ControlFlow
ourself instead of hard coding.
2021-10-13 21:19:41 +08:00
k-nasa
bc29b75b92
update calc_depth
2021-10-13 22:06:53 +09:00
k-nasa
b3930599a7
calc depth
2021-10-13 22:02:39 +09:00
bors[bot]
e24429f31b
Merge #10536
...
10536: minor: Make AssistContext::frange private r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-13 12:41:25 +00:00
Lukas Wirth
ccad89a2db
Make AssistContext::frange private
2021-10-13 14:39:37 +02:00
k-nasa
ef9c4b666f
move test case
2021-10-13 21:03:01 +09:00
k-nasa
a6a052f407
Revert "Apply make_else_arm to general case"
...
This reverts commit aeee70397e
.
2021-10-13 20:36:04 +09:00
Dezhi Wu
5818358bbf
import ControlFlow
to the module
2021-10-13 09:09:07 +08:00
Dezhi Wu
f888e85f79
use ControlFlow::Break(_)
pattern
2021-10-13 09:06:47 +08:00
Dezhi Wu
971a271840
use ControlFlow
in "extract function" assist
2021-10-13 09:06:47 +08:00
bors[bot]
137ac67f5d
Merge #10533
...
10533: fix: Fix AssistContext panic on sole whitespace selection r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-12 19:29:47 +00:00
Lukas Wirth
086563f751
Fix AssistContext panic on sole whitespace selection
2021-10-12 21:29:08 +02:00
bors[bot]
f185d1c533
Merge #10423
...
10423: Internal: refactor for mdbook plugin r=Veykril a=HKalbasi
This PR is for upstreaming changes that I made for mdbook plugin. Changes are adding inlay hints to `StaticIndex` and changing some functions for working around privacy of crates.
Aside this, is it okay if I bring the plugin in tree? It is a simple binary crate. I feel it will better maintained here and become resistant to api changes.
Co-authored-by: hamidreza kalbasi <hamidrezakalbasi@protonmail.com>
2021-10-12 18:35:03 +00:00
bors[bot]
a871da3693
Merge #10529
...
10529: Generate `PartialOrd` implementations r=Veykril a=yoshuawuyts
_co-authored with `@rylev_`
This closes #5946 (which should've been closed already, lol). This PR makes it so we generate `PartialOrd` code implementations where possible. This is the last of Rust's built-in traits that was missing codegen.
After this has been merged we should look at moving the tests to a better spot, and maybe cleaning up the implementation somewhat (it's rather copy-pasty at the moment).
Either way, this finishes up the functionality. Thanks heaps!
Co-authored-by: Yoshua Wuyts <yoshuawuyts@gmail.com>
2021-10-12 17:32:58 +00:00
bors[bot]
d56c8796d6
Merge #10532
...
10532: Rename `descend_into_macros` Function per FIXME comment r=Veykril a=mirkoRainer
This renames `descend_into_macros` to `descend_into_macros_single` and `descend_into_macros_many` into `descend_into_macros`.
However, this does not touch a function in `SemanticsImpl` of same name.
I was prompted to do this per a FIXME comment, which is removed in this PR.
Co-authored-by: Mirko Rainer <mirkorainer@outlook.com>
2021-10-12 17:24:50 +00:00
Mirko Rainer
eccfa1645b
Saw a FIXME comment and decided to fix it.
...
This renames `descend_into_macros` to `descend_into_macros_single` and `descend_into_macros_many` into `descend_into_macros`.
However, this does not touch a function in `SemanticsImpl` of same name.
2021-10-12 11:52:31 -04:00
Yoshua Wuyts
601ed3a10d
Simplify generated PartialOrd code
2021-10-12 17:44:57 +02:00
Yoshua Wuyts
5f72bd81a9
impl PartialOrd codegen for tuple enum
2021-10-12 17:05:59 +02:00
Yoshua Wuyts
77b5fe6c52
impl PartialOrd codegen for record enum
2021-10-12 17:05:59 +02:00
Yoshua Wuyts
95eff43cc1
impl PartialOrd codegen for C-style enums
2021-10-12 17:05:58 +02:00
Yoshua Wuyts
c0263fb07a
impl PartialOrd codegen for struct records
2021-10-12 17:05:58 +02:00
Yoshua Wuyts
6941fdc49f
impl PartialOrd codegen for tuple records
2021-10-12 17:05:58 +02:00
Yoshua Wuyts
bc6aee51b0
init partialord
2021-10-12 17:05:58 +02:00
bors[bot]
be9e7f9aaf
Merge #10528
...
10528: internal: Make selections in assists with trailing/leading whitespace more forgiving r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-12 12:42:36 +00:00
Lukas Wirth
03fcf1b246
Make selections in assists with trailing/leading whitespace more forgiving
2021-10-12 14:41:59 +02:00
Lukas Wirth
66bfa6fc88
Improve user snippet import performance
2021-10-12 11:48:37 +02:00
hamidreza kalbasi
0f49c97e93
internal changes for mdbook
2021-10-12 11:54:00 +03:30
bors[bot]
1cca1fa5bf
Merge #10525
...
10525: Regenerate lints and features r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-12 07:56:00 +00:00
Lukas Wirth
22f471d81f
Update tidy ignore path
2021-10-12 09:47:21 +02:00
Lukas Wirth
acaf270911
Remove stale module
2021-10-12 09:37:16 +02:00
Lukas Wirth
d71a4f40d9
Regenerate lints
2021-10-12 09:35:02 +02:00
Lukas Wirth
ed7c2948b3
Move lint source generator
2021-10-12 08:59:39 +02:00
Brendan Cully
841d4f9dad
Only include targets of packages that are workspace members
...
CargoWorkspace's package list includes packages that are path
dependencies, even if those packages aren't actually members of the
cargo workspace. As a result, rust-analyzer's runnable finder, which
returns the target from the first workspace that has a matching package,
may select the wrong working directory, causing runnables to fail, e.g.,
```
error: package `root` cannot be tested because it requires dev-dependencies and is not a member of the workspace
```
To fix this, we filter out packages that aren't members of the workspace
when searching for targets.
Fixes #7764
2021-10-11 18:28:05 -07:00
bors[bot]
098284aec8
Merge #10522
...
10522: fix: make signature info response conform to spec r=lnicola a=muscar
This addreses https://github.com/rust-analyzer/rust-analyzer/issues/10464 .
This patch picks up `lsp-types` 0.90.1, which serialises the `SignatureInformation` and `ParameterInformation` with the right casing. It also adds `activeSignature` field as part of the top-level signature response. It keeps `activeParameter` at the top-level for backwards compatibility.
Co-authored-by: Alex Muscar <alex@muscar.eu>
2021-10-11 19:58:27 +00:00
Lukas Wirth
5ccaff3c97
Simplify
2021-10-11 21:49:50 +02:00
Alex Muscar
41856e2682
fix: make signature info response conform to spec
...
This addreses
https://github.com/rust-analyzer/rust-analyzer/issues/10464 .
This patch picks up `lsp-types` 0.90.1, which serialises the
`SignatureInformation` and `ParameterInformation` with the right casing.
It also adds `activeSignature` field as part of the top-level signature
response. It keeps `activeParameter` at the top-level for backwards
compatibility.
2021-10-11 20:42:16 +01:00
Quentin Gliech
824b7a8564
Add toolInfo in MetaData vertex in LSIF dumps
...
This helps with uploading LSIF dumps to Sourcegraph without having to
specify an indexer name.
2021-10-11 14:45:58 +02:00
Lukas Wirth
2ec406bf64
Remove unnecessary unused attribute
2021-10-11 14:42:18 +02:00
Lukas Wirth
d14c9be321
Show cargo check failures to the user
2021-10-11 14:09:20 +02:00
bors[bot]
ed4b312fa7
Merge #10514
...
10514: internal: clean up code duplication r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-10-10 18:09:13 +00:00
Aleksey Kladov
d4d67406d7
internal: clean up code duplication
2021-10-10 21:08:10 +03:00
Aleksey Kladov
d28a6c36e1
minor: align code to code style
...
(mutually recursive) data type definitions shall be at the start of the
file.
2021-10-10 19:13:05 +03:00
Aleksey Kladov
634f047d90
internal: add integrated test for token censoring
2021-10-10 16:52:21 +03:00
Aleksey Kladov
a88344152d
minor: add a test for derive macros in core
2021-10-10 16:13:45 +03:00
Aleksey Kladov
5af80d8372
internal: move derived tests to the unified macro infra
2021-10-10 16:10:35 +03:00
Aleksey Kladov
55d8be5a24
internal: consistent module naming
2021-10-10 15:44:03 +03:00
Aleksey Kladov
e5acf650d0
move tests
2021-10-10 15:30:54 +03:00
Aleksey Kladov
5f8b708aca
move tests
2021-10-10 15:28:24 +03:00
Aleksey Kladov
6a3fc84921
internal: move builtin macro tests to macro expansion suite
2021-10-10 15:17:53 +03:00
Aleksey Kladov
bfc5d8529a
drop obsolete tests
2021-10-10 15:11:33 +03:00
Aleksey Kladov
0f849a7a35
move test
2021-10-10 15:06:41 +03:00
Aleksey Kladov
dce41e5a03
move tests
2021-10-10 14:58:25 +03:00
Aleksey Kladov
42fd71e6c8
move tests
2021-10-10 14:40:13 +03:00
Aleksey Kladov
be73cc8f83
move test
2021-10-10 14:28:04 +03:00
Aleksey Kladov
af76db3c36
move tests
2021-10-10 14:26:47 +03:00
Aleksey Kladov
6253213a6e
move test
2021-10-10 14:23:52 +03:00
Aleksey Kladov
e55797f59d
move tests
2021-10-10 14:21:47 +03:00
Aleksey Kladov
8997d742dc
move tests
2021-10-10 14:08:49 +03:00
Aleksey Kladov
464fb9f0d4
add directory for regression tests
2021-10-10 13:56:41 +03:00
Aleksey Kladov
5ad502dbdb
move test
2021-10-10 13:54:44 +03:00
Aleksey Kladov
c986568cbb
move test
2021-10-10 13:26:07 +03:00
Aleksey Kladov
5b44770102
move test
2021-10-10 13:24:48 +03:00
Aleksey Kladov
e255e9577f
internal: move test
2021-10-10 13:21:42 +03:00
Aleksey Kladov
8670e83cec
move test
2021-10-10 12:57:18 +03:00
Aleksey Kladov
7d92b9f6ff
move test
2021-10-10 12:55:31 +03:00
Aleksey Kladov
748e6881fc
move tests
2021-10-10 12:52:28 +03:00
Aleksey Kladov
6fd2f1d25b
internal: move tests
2021-10-10 12:45:17 +03:00
Aleksey Kladov
5a854a7253
internal: move tests
2021-10-10 12:39:58 +03:00
Aleksey Kladov
3c9dda6ca9
internal: consistently use ok!();
for succesfull macro expansion
2021-10-10 11:45:05 +03:00
Aleksey Kladov
c88cda04db
move some tests
2021-10-10 11:44:46 +03:00
Aleksey Kladov
a3470a8114
move tests
2021-10-10 11:39:08 +03:00
Aleksey Kladov
7e53a3ce23
move test
2021-10-10 11:29:26 +03:00
Aleksey Kladov
408475a593
move test
2021-10-10 11:26:18 +03:00
Aleksey Kladov
b0a104cbd1
test formatting
2021-10-10 11:22:12 +03:00
Aleksey Kladov
2510eaa9b2
test formatting
2021-10-10 11:16:25 +03:00
Aleksey Kladov
9c819eaa9a
move tests
2021-10-10 11:15:42 +03:00
Aleksey Kladov
1c15f47e00
internal: move tests
2021-10-10 11:11:50 +03:00
Aleksey Kladov
c6d5c1c946
dead code
2021-10-10 11:09:16 +03:00
Aleksey Kladov
e9902b92ab
internal: move some mbe tests
2021-10-10 11:08:02 +03:00
Aleksey Kladov
f17f5d68f9
move tests
2021-10-10 11:08:02 +03:00
Aleksey Kladov
3a47dba761
fix tests
2021-10-10 11:08:02 +03:00
bors[bot]
4439cd8c68
Merge #10506
...
10506: Add comment r=lnicola a=k-nasa
## Why
This code looks logic-bug ...
ce86534e1c/crates/syntax/src/syntax_node.rs (L50)
However, this code has been intentionally disabled.
It's a good idea to write a comment
ref: https://github.com/rust-analyzer/rust-analyzer/pull/10357
## What
- I added comment
Co-authored-by: k-nasa <htilcs1115@gmail.com>
2021-10-10 07:56:47 +00:00
k-nasa
84bc6e159a
Add comment
2021-10-10 16:53:37 +09:00
bors[bot]
64ca0f63bf
Merge #10504
...
10504: Remove needless clone r=lnicola a=k-nasa
## Why
Delete clones for efficiency
## What
- I erased unnecessary clones
Co-authored-by: k-nasa <htilcs1115@gmail.com>
2021-10-10 07:17:52 +00:00
k-nasa
9dd823a0e1
remove comment
2021-10-10 13:16:34 +09:00
k-nasa
3829cd981a
Revert "update comment"
...
This reverts commit 820393f72d
.
2021-10-10 10:51:45 +09:00
k-nasa
b50cb5c261
Remove neesless clone
2021-10-10 10:50:51 +09:00
k-nasa
820393f72d
update comment
2021-10-10 10:16:32 +09:00
k-nasa
42377d3dad
Add code comment
2021-10-10 10:10:52 +09:00
Aleksey Kladov
a85a3d73ed
feat: be more precise in mismatch arg counts highlighting
2021-10-09 22:45:54 +03:00
Aleksey Kladov
de136a5340
move test
2021-10-09 19:11:04 +03:00
Aleksey Kladov
e838da18a9
internal: move tests
2021-10-09 18:54:15 +03:00
Aleksey Kladov
0dc87badd7
internal: move test
2021-10-09 18:51:26 +03:00
Aleksey Kladov
0a32c20142
internal: move test
2021-10-09 18:49:14 +03:00
Aleksey Kladov
993ff1c239
internal: drop duplicated test
2021-10-09 18:47:04 +03:00
Aleksey Kladov
419c234333
internal: move test
2021-10-09 18:46:16 +03:00
Aleksey Kladov
b1cfa51ef5
internal: move tests
2021-10-09 18:43:15 +03:00
Aleksey Kladov
3e8ef943c6
internal: move some tests
2021-10-09 18:18:56 +03:00
Aleksey Kladov
a060b9a4b2
internal: move some macro tests
2021-10-09 18:15:05 +03:00
Aleksey Kladov
c2e425dd00
internal: make sure macro test expand to valid syntax
2021-10-09 18:06:24 +03:00
Aleksey Kladov
c41b7bbe69
internal: allow macro tests to inspect parse tree
2021-10-09 17:58:17 +03:00
Aleksey Kladov
aac23f7832
move tests
2021-10-09 17:43:07 +03:00
Aleksey Kladov
6407e2e789
indent macro output when pprinting
2021-10-09 17:36:41 +03:00
Aleksey Kladov
a0d9e78ec3
align tests to code style
2021-10-09 17:31:24 +03:00
Aleksey Kladov
036c0ff8c7
move some tests
2021-10-09 17:27:38 +03:00
Aleksey Kladov
cb1b6a273f
internal: don't un-indent macro tests manually
2021-10-09 17:17:37 +03:00
Aleksey Kladov
afacdd612d
internal: update expect
2021-10-09 17:17:16 +03:00
Aleksey Kladov
959da8caa1
internal: move test
2021-10-09 16:31:26 +03:00
Aleksey Kladov
59c86ff300
rename
2021-10-09 16:28:11 +03:00
Aleksey Kladov
75b0ce17cf
move test
2021-10-09 16:27:19 +03:00
Aleksey Kladov
0dd1b35479
move test
2021-10-09 16:25:37 +03:00
Aleksey Kladov
574df660e4
move test
2021-10-09 16:22:42 +03:00
Aleksey Kladov
b21244e080
internal: move test
2021-10-09 16:19:19 +03:00
Aleksey Kladov
84d182c7a2
internal: docs
2021-10-09 15:29:31 +03:00
Aleksey Kladov
ef1251f696
feat: report errors in macro definition
...
Reporting macro *definition* error at the macro *call site* is a rather
questionable approach, but at least we don't erase the errors
altogether!
2021-10-09 15:23:55 +03:00
Aleksey Kladov
b3d1de93af
get organizized
2021-10-09 14:53:15 +03:00
Aleksey Kladov
8e9003447c
future proof structure
2021-10-09 14:48:38 +03:00
Aleksey Kladov
5ecda802f1
move test
2021-10-09 14:45:52 +03:00
Aleksey Kladov
f4ee0d736c
move tests
2021-10-09 14:39:24 +03:00
Aleksey Kladov
1abe3f8275
internal: move tests
2021-10-09 14:22:49 +03:00
Aleksey Kladov
49f5fecf06
internal: move test
2021-10-09 14:18:53 +03:00
Aleksey Kladov
78ca43ef3d
internal: move test
2021-10-09 13:51:02 +03:00
Aleksey Kladov
093f99b809
internal: start new macro test suite
...
I don't like our macro tests -- they are brittle and don't inspire
confidence. I think the reason for that is that we try to unit-test
them, but that is at odds with reality, where macro expansion
fundamentally depends on name resolution.
2021-10-09 13:42:32 +03:00
k-nasa
aeee70397e
Apply make_else_arm to general case
2021-10-09 13:19:21 +09:00
k-nasa
388525fa0d
Add test casee
2021-10-09 11:13:27 +09:00
Jonas Schievink
f8acae7895
Support let...else
2021-10-07 17:06:24 +02:00
rainy-me
aaa0771719
Fix: compare pkg via manifest
2021-10-07 23:44:25 +09:00
bors[bot]
4675410f07
Merge #10477 #10482
...
10477: parser: fix parsing of macro call inside generic args r=Veykril a=cynecx
10482: fix: fix `inline_call` trying to use an uncached syntax node in Semantics r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10475
bors r+
Co-authored-by: cynecx <me@cynecx.net>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-07 13:05:18 +00:00
Lukas Wirth
12465a8a3c
Expose HasSource::source through Semantics with caching behaviour
2021-10-07 15:00:14 +02:00
bors[bot]
5191fb755b
Merge #10480
...
10480: fix: Change `stdx::to_snake_case` to match rustc implementation r=Veykril a=Crauzer
Fixes #10473
Co-authored-by: crauzer <filip.quitko@gmail.com>
2021-10-07 12:56:28 +00:00
bors[bot]
fd3f4c50da
Merge #10467
...
10467: Optimize CodeLens for references/impls r=Veykril a=ericsampson
Don't do unnecessary work.
Followup to #10447 . cc `@Veykril`
Co-authored-by: Eric Sampson <esampson@eaze.com>
2021-10-06 21:47:22 +00:00
Eric Sampson
efca421c43
Refactor to eliminate a vector allocation.
2021-10-06 16:43:37 -05:00
crauzer
ba62a8a075
fix test
2021-10-06 23:37:43 +02:00
crauzer
a4f08c117f
Fix stdx::to_snake_case
2021-10-06 23:24:47 +02:00
bors[bot]
f30b62b751
Merge #10479
...
10479: fix: fix "index out of bounds" panic in name resolution r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/10084
Closes https://github.com/rust-analyzer/rust-analyzer/issues/9163
This is really just a salsa update to a version that removes the problematic code (see https://github.com/rust-analyzer/rust-analyzer/issues/10084#issuecomment-934445711 )
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-10-06 20:54:27 +00:00
bors[bot]
12d33eafaf
Merge #10476
...
10476: feat: Add `replace_try_expr_with_match` assist r=Veykril a=Crauzer
Adds the replace_try_expr_with_match assist
#10424
Co-authored-by: crauzer <filip.quitko@gmail.com>
2021-10-06 20:45:14 +00:00
Jonas Schievink
cda9668289
Update salsa
2021-10-06 22:42:54 +02:00
cynecx
07cd19dcef
parser: fix parsing of macro call inside generic args
2021-10-06 22:41:35 +02:00
crauzer
1161fa45af
fix tests
2021-10-06 20:45:18 +02:00
crauzer
765d7f20f9
add sourcegen
2021-10-06 20:23:22 +02:00
crauzer
05e58afde2
Add replace_try_expr_with_match assist
2021-10-06 20:11:00 +02:00
bors[bot]
94fa49c0a3
Merge #10420
...
10420: Parse outer attributes on StructPatternEtCetera r=jonas-schievink a=XFFXFF
Try to fix https://github.com/rust-analyzer/rust-analyzer/issues/8610
Related pr in ungrammer: https://github.com/rust-analyzer/ungrammar/pull/41
Co-authored-by: zhoufan <1247714429@qq.com>
2021-10-06 15:05:40 +00:00
bors[bot]
4cfe237a56
Merge #10459
...
10459: feat: Add generate constant assist r=Veykril a=longfangsong
Close #10330 .
![demo(1)](https://user-images.githubusercontent.com/13777628/135885262-c80de86f-5555-4f84-9508-822243f8a876.gif )
Co-authored-by: longfangsong <longfangsong@icloud.com>
Co-authored-by: 龙方淞 <longfangsong@icloud.com>
2021-10-06 09:38:58 +00:00
Eric Sampson
0d77be67f7
Don't do work and then throw it away.
2021-10-06 01:16:31 -05:00
longfangsong
3fde682bcf
cleanup
2021-10-06 10:14:12 +08:00
龙方淞
7228dbadca
Update crates/ide_assists/src/handlers/generate_constant.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-06 10:06:51 +08:00
龙方淞
fab238adf6
Update crates/ide_assists/src/handlers/generate_constant.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-06 10:06:46 +08:00
bors[bot]
5ff992465e
Merge #10447
...
10447: Add enum variant references CodeLens. r=Veykril a=ericsampson
Co-authored-by: Eric Sampson <esampson@eaze.com>
2021-10-05 22:03:23 +00:00
Eric Sampson
6d05b07f7d
Refactor according to PR comments to remove allocations.
2021-10-05 15:42:45 -05:00
bors[bot]
c409cf0e26
Merge #10458
...
10458: feat: Implement custom user snippets r=Veykril a=Veykril
![Y24dX7fOWX](https://user-images.githubusercontent.com/3757771/136059454-ceccfc2c-2c90-46da-8ad1-bac9c2e83ec1.gif )
Allows us to address the following issues:
- `.arc / .rc / .pin, similar to .box?` https://github.com/rust-analyzer/rust-analyzer/issues/7033
- `Add unsafe snippet` https://github.com/rust-analyzer/rust-analyzer/issues/10392 , would allow users to have this without the diagnostic)
- `.ok() postfix snippet is annoying` https://github.com/rust-analyzer/rust-analyzer/issues/9636 , allows us to get rid of the `ok` postfix and similar ones
- `Postfix vec completion` https://github.com/rust-analyzer/rust-analyzer/issues/7773
cc https://github.com/rust-analyzer/rust-analyzer/issues/772
Zulipd discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Custom.20Postfix.20snippets
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-05 16:41:11 +00:00
Lukas Wirth
041cfbe0f4
Render the expansion of snippets as their docs
2021-10-05 18:11:22 +02:00
Lukas Wirth
77cbf4adbc
Bring the implementation closer to VSCode snippet definitions
2021-10-05 17:18:40 +02:00
bors[bot]
86c534f244
Merge #10440
...
10440: Fix Clippy warnings and replace some `if let`s with `match` r=Veykril a=arzg
I decided to try fixing a bunch of Clippy warnings. I am aware of this project’s opinion of Clippy (I have read both [rust-lang/clippy#5537 ](https://github.com/rust-lang/rust-clippy/issues/5537 ) and [rust-analyzer/rowan#57 (comment)](https://github.com/rust-analyzer/rowan/pull/57#discussion_r415676159 )), so I totally understand if part of or the entirety of this PR is rejected. In particular, I can see how the semicolons and `if let` vs `match` commits provide comparatively little benefit when compared to the ensuing churn.
I tried to separate each kind of change into its own commit to make it easier to discard certain changes. I also only applied Clippy suggestions where I thought they provided a definite improvement to the code (apart from semicolons, which is IMO more of a formatting/consistency question than a linting question). In the end I accumulated a list of 28 Clippy lints I ignored entirely.
Sidenote: I should really have asked about this on Zulip before going through all 1,555 `if let`s in the codebase to decide which ones definitely look better as `match` :P
Co-authored-by: Aramis Razzaghipour <aramisnoah@gmail.com>
2021-10-05 08:58:40 +00:00
Aramis Razzaghipour
9583dd5725
Replace if let
with match
where appropriate
2021-10-05 09:00:21 +11:00
Aramis Razzaghipour
f29796da61
Replace if let Some(_) = foo
with if foo.is_some()
2021-10-05 09:00:18 +11:00
Eric Sampson
160a7b097a
initialize vector to required size.
2021-10-04 16:14:01 -05:00
Lukas Wirth
2b17da60db
Resolve macros in snippet require items
2021-10-04 22:53:02 +02:00
Lukas Wirth
ca1fdd75f1
Regen docs
2021-10-04 22:13:12 +02:00
Lukas Wirth
1f7e14e78b
Fix multiple imports acting on files on separately
2021-10-04 22:05:30 +02:00
Lukas Wirth
454ecd167c
Make multiple import edits work for completions
2021-10-04 21:44:33 +02:00
Lukas Wirth
046c85ef0c
Add custom non-postfix snippets
2021-10-04 19:22:41 +02:00
Jonas Schievink
0cd24c14c5
Only add proc_macro
to prelude in proc-macro crates
2021-10-04 18:22:39 +02:00
bors[bot]
5bdae82947
Merge #10456
...
10456: fix: Avoid cycle when lowering predicates for associated item lookup r=flodiebold a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10386
(the salsa bug persists, but this lets us avoid it by fixing the underlying bug)
This reimplements the rustc logic in b27661eb33/compiler/rustc_typeck/src/collect.rs (L556)
: When resolving an associated type `T::Item`, we've previously lowered all predicates that could affect `T`, but we actually have to look only at those predicates whose traits define an associated type of the right name.
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-10-04 15:58:06 +00:00
longfangsong
4d1a4dc0d6
Add generate_constant assist
2021-10-04 23:53:32 +08:00
Lukas Wirth
88f213eadd
Initial implementation of custom postfix snippets
2021-10-04 17:49:21 +02:00
Jonas Schievink
3aa37d7f80
Avoid cycle when lowering predicates for associated item lookup
2021-10-04 17:39:55 +02:00
Laurențiu Nicola
a683c08729
Remove support for old-style sysroot
2021-10-04 18:36:56 +03:00
bors[bot]
9724ca7af1
Merge #10451
...
10451: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-04 13:18:21 +00:00
Lukas Wirth
7faa35cbbd
Simplify
2021-10-04 15:16:13 +02:00
zhoufan
a248f39cb4
make Some(1..) parsed
2021-10-04 17:33:48 +08:00
Eric Sampson
5df6259996
tweak variable names.
2021-10-04 02:42:13 -05:00
Eric Sampson
a0bb31587e
Add enum variant references CodeLens.
2021-10-04 02:18:31 -05:00
bors[bot]
10eaa5a0af
Merge #10441
...
10441: feat: Hide type inlay hints for constructors r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/3022
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-03 13:35:47 +00:00
Lukas Wirth
a31bc668f5
Hide generic constructors if appropriate
2021-10-03 15:35:26 +02:00
Aramis Razzaghipour
eff195852d
Fix miscellaneous Clippy lints
2021-10-03 23:53:30 +11:00
Lukas Wirth
992b4648d9
feat: Hide type inlay hints for constructors
2021-10-03 14:53:18 +02:00
Aramis Razzaghipour
55c0b86cde
Add semicolons for consistency
...
`clippy::semicolon_if_nothing_returned`
2021-10-03 23:39:43 +11:00
bors[bot]
e28aa1928b
Merge #10439
...
10439: fix: fix insert_use incorrectly merging glob imports r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6800
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-03 12:19:02 +00:00
Lukas Wirth
5b0c91d118
fix: fix insert_use incorrectly merging glob imports
2021-10-03 14:06:44 +02:00
Lukas Wirth
e684235329
Move module private logic down
2021-10-03 13:52:40 +02:00
bors[bot]
ebe6c38a44
Merge #10438
...
10438: minor: Simplify r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-03 11:06:06 +00:00
Lukas Wirth
0943c4be8b
minor: Simplify
2021-10-03 13:05:42 +02:00
bors[bot]
0618a6f184
Merge #10436
...
10436: fix: await insertion with try_expr during extract_function r=Veykril a=feniljain
Fixing #10333
Co-authored-by: vi_mi <fenil.jain2018@vitstudent.ac.in>
2021-10-03 10:07:58 +00:00
vi_mi
61643513b6
fix: await insertion with try_expr during extract_function
2021-10-03 09:41:21 +00:00
bors[bot]
13ec077b91
Merge #10437
...
10437: fix: Fix extract_variable not allowing to extract macro calls r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6866
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-03 09:10:33 +00:00
Lukas Wirth
a359a1f2e3
Fix extract_variable not allowing to extract macro calls
2021-10-03 11:09:49 +02:00
rainy-me
39044fe39c
Allow locate parent module action in cargo toml
2021-10-03 11:58:10 +09:00
zhoufan
116c7aef7f
move outer_attrs call before the match
2021-10-03 09:22:02 +08:00
Aleksey Kladov
4e352275d1
minor: simplify
2021-10-02 20:38:39 +03:00
Aleksey Kladov
613609cc5e
minor: cleanup
2021-10-02 20:38:39 +03:00
Aleksey Kladov
77bf761203
internal: move code to where it's used and reduce visibility
2021-10-02 20:38:39 +03:00
bors[bot]
e504f8ae8d
Merge #10430
...
10430: fix: Fix rename trying to edit the same range multiple times for certain macro inputs r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10324
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-02 16:51:55 +00:00
Lukas Wirth
86e5406539
Fix rename trying to edit the same range multiple times
2021-10-02 18:50:21 +02:00
Aleksey Kladov
7dbf24fc7a
minor: dead code
2021-10-02 15:42:10 +03:00
Aleksey Kladov
d5c5b7cd12
internal: remove deprecated method
2021-10-02 15:28:55 +03:00
Aleksey Kladov
9c74a5b2c0
minor: reduce duplication
2021-10-02 15:24:32 +03:00
Aleksey Kladov
f04f8ddb0d
minor: regen
2021-10-02 15:20:16 +03:00
Aleksey Kladov
f3a1ff786f
minor: generated code readability
2021-10-02 15:20:03 +03:00
bors[bot]
a6e6f9c58b
Merge #10427
...
10427: minor r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-10-02 10:21:07 +00:00
Aleksey Kladov
393f80e036
minor
2021-10-02 13:20:45 +03:00
bors[bot]
5ff551d86f
Merge #10426
...
10426: internal: use naming that matches intended use-case r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-10-02 10:06:24 +00:00
Aleksey Kladov
12103b16de
internal: untangle usages of ReferenceCategory somewhat
...
Not everything that can be read or write is a reference, let's try to
use more precise types.
2021-10-02 13:02:06 +03:00
Aleksey Kladov
76e875542a
fix: remove semicolon diagnostics only highlights the semi
2021-10-02 12:54:10 +03:00
Aleksey Kladov
46eb03d99a
internal: use naming that matches intended use-case
2021-10-02 12:18:18 +03:00
zhoufan
0ee6b70b34
Parse outer attributes on StructPatternEtCetera
2021-10-02 09:57:44 +08:00
nathan.whitaker
a3661b3900
Add whitespace b/w lifetime and mut in expansion
2021-10-01 15:29:26 -04:00
Benjamin Coenen
2947957199
feat(assist): add new assist to unwrap the result return type
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2021-10-01 21:24:03 +02:00
Cassandra McCarthy
d5cf9f4add
docs: add note about vscode-vim
in on_enter
...
I found myself search for this, so building off of #3013 and #3308 , I
hope this note is useful.
2021-10-01 14:12:32 -04:00
Laurențiu Nicola
035cb443aa
Bump notify
2021-10-01 18:57:04 +03:00
Laurențiu Nicola
ffa8270f6a
Bump memmap2
2021-10-01 18:55:52 +03:00
Laurențiu Nicola
34adcc800c
Bump libc
2021-10-01 18:51:45 +03:00
Jonas Schievink
033f87c2f0
Add some profiling calls to name resolution
2021-10-01 15:30:00 +02:00
bors[bot]
0646d5cf9e
Merge #10413
...
10413: fix: Fix format highlighting with `concat!` and `unreachable!` r=jonas-schievink a=jonas-schievink
Last item in https://github.com/rust-analyzer/rust-analyzer/issues/10394 , closes https://github.com/rust-analyzer/rust-analyzer/issues/10394
Also documents why/how `is_format_string` even works, since I found that nontrivial.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-10-01 11:31:32 +00:00
Jonas Schievink
3bc0d89ade
Fix format highlighting with concat!
2021-10-01 13:28:05 +02:00
bors[bot]
47c079a037
Merge #10403
...
10403: feat: Add semantic token modifier for crate root r=Veykril a=lhvy
Resolves #9073
I managed to implement crate root highlighting for crates mentioned specifically by name (e.g. `serde` in `use serde::Serialize;`), but not for crates referred to with `crate` or `super`. How could I implement this?
> P.S. I'm participating in [Hacktoberfest 2021](https://hacktoberfest.digitalocean.com/ ). If this PR is up to standard and merged, I'd appreciate if the `hacktoberfest-accepted` label could be added. Thanks!
Co-authored-by: lhvy <me@lhvy.dev>
2021-10-01 11:18:52 +00:00
lhvy
dbb02370a4
Add semantic token modifier for crate root
2021-10-01 20:52:13 +10:00
Jonas Schievink
cca6ee5757
Expand asm!
to format_args!
2021-10-01 12:33:18 +02:00
bors[bot]
8b45de596f
Merge #10411
...
10411: fix: Parenthesize expressions in `if_to_bool_then` assist where required r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-01 10:20:06 +00:00
Lukas Wirth
816fafd997
Parenthesize expressions in if_to_bool_then assist where required
2021-10-01 12:19:01 +02:00
bors[bot]
c30a6a2974
Merge #10406
...
10406: internal: Restructure syntax element highlighting into node and token branches r=Veykril a=Veykril
Gets rid of all the unseemly unwraps
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-30 19:46:57 +00:00
Lukas Wirth
c5ceaefa09
Restructure syntax element highlighting
2021-09-30 21:44:56 +02:00
bors[bot]
8bf2d4fe62
Merge #10404
...
10404: minor: Simplify r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10405
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-30 18:38:39 +00:00
Lukas Wirth
0c7ea0c9a1
Fix add missing semantic token modifier in SUPPORTED_MODIFIERS
2021-09-30 20:38:05 +02:00
Lukas Wirth
a33939565d
Simplify
2021-09-30 19:12:37 +02:00
bors[bot]
4f3ce62b0d
Merge #10402
...
10402: fix: Don't show flyimport completions in use renames r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10367
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-30 16:18:09 +00:00
Lukas Wirth
d7d16a7ac9
Don't show flyimport completions in use renames
2021-09-30 18:15:55 +02:00
bors[bot]
529b7a4167
Merge #10398
...
10398: Give defaultLibrary semantic token modifier to items from standard library r=Veykril a=lhvy
Fixes #8999 , fixes #2155
`builtInCrates` could be an alternate name to `defaultLibrary`, which one is better?
> P.S. I'm participating in [Hacktoberfest 2021](https://hacktoberfest.digitalocean.com/ ). If this PR is up to standard and merged, I'd appreciate if the `hacktoberfest-accepted` label could be added. Thanks!
Co-authored-by: lhvy <me@lhvy.dev>
Co-authored-by: Lucas <me@lhvy.dev>
2021-09-30 16:10:23 +00:00
lhvy
0b2ba8be68
Fix builtin_crates return type change
2021-10-01 02:05:00 +10:00
bors[bot]
26a10767cb
Merge #10401
...
10401: minor: Test runnables check for test prefix and suffix in attributes only r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10393
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-09-30 16:03:03 +00:00
Lukas Wirth
b742dd313e
Test runnables check for test prefix and suffix in attributes only
2021-09-30 18:02:44 +02:00
lhvy
64cbdf6d55
Add comment
2021-10-01 01:58:11 +10:00
Lucas
6606b49710
Reduce allocation in builtin_crates
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-01 01:56:30 +10:00
lhvy
f713cfb818
Remove unneeded semantic token definition
2021-10-01 01:55:29 +10:00
bors[bot]
7a36993892
Merge #10400
...
10400: fix: fix format string highlighting for `todo!` and `unimplemented!` r=jonas-schievink a=jonas-schievink
Part of https://github.com/rust-analyzer/rust-analyzer/issues/10394
These macros require us to see through the `const_format_args!` invocation the panic macros generate, for that we have to add it to our supported built-in macros.
I've also made the macros in the test `#[macro_export]` (turns out they didn't all resolve correctly before this), which changes the output slightly.
bors r+
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-09-30 15:33:07 +00:00
Jonas Schievink
4465685878
Work around tidy check
2021-09-30 17:32:18 +02:00
lhvy
2b3baa8503
Give defaultLibrary semantic token modifier to items from standard library
2021-10-01 01:19:24 +10:00
bors[bot]
73562aa168
Merge #10399
...
10399: minor: don't drop binders when doing autoderef r=lnicola a=iDawer
This fixes #10396 panic introduced in #10373
Co-authored-by: Dawer <7803845+iDawer@users.noreply.github.com>
2021-09-30 15:17:12 +00:00
Jonas Schievink
b994469a13
Add const_format_args!
builtin macro, fix highlighting
2021-09-30 17:16:39 +02:00
Dawer
df4bb02b6f
minor: don't drop binders when doing autoderef
2021-09-30 19:57:15 +05:00
Jonas Schievink
375a0ff785
Use itertools
2021-09-30 16:37:12 +02:00
Jonas Schievink
b8437f71b6
Less hacky assert!
expansion
2021-09-30 16:30:26 +02:00
Jonas Schievink
368c5f6023
Fix format string highlighting in panic!
2021-09-30 15:53:47 +02:00
Ariel Davis
00a615b819
Add pub(super) along with pub(crate) and pub as a completion keyword
2021-09-29 21:55:15 -07:00
bors[bot]
b21f15a237
Merge #10389
...
10389: fix: use the right `HirFileId` when expanding macros in fn parameters r=Veykril a=SkiFire13
Fixes #10388
Co-authored-by: Giacomo Stevanato <giaco.stevanato@gmail.com>
2021-09-29 19:20:12 +00:00
Giacomo Stevanato
034dd41ea8
Add regression test
2021-09-29 21:08:44 +02:00