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
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
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