Lukas Wirth
59799312e2
Send a DidCancel event when restarting flychecks
2022-06-16 15:25:50 +02:00
bors
7322a982f9
Auto merge of #12554 - XFFXFF:fix_11959, r=Veykril
...
fix: local items should not be completed in parent signature
fixes #11959
> We get a Bar completion for the following snippet which is wrong as the item is not visible in that position.
> ``` rust
> fn foo() -> $0 {
> struct Bar;
> }
> ```
I investigated the problem and found that the scope of the cursor offset, also `CompletionContext.scope` is the body of the function
2022-06-16 12:48:33 +00:00
XFFXFF
6df969f5f4
the offset used for the completion cursor should always be relative to the original file and not to the marco file
2022-06-16 20:34:37 +08:00
bors
7ade4d49fc
Auto merge of #12517 - xuhongxu96:master, r=Veykril
...
fix methods in pub trait generated by macro cannot be completed
Fix #12483
Check if the container is trait and inherit the visibility to associate items during collection.
2022-06-16 09:14:09 +00:00
XFFXFF
fbf8e12234
the scope of the return type is not the body of the function
2022-06-16 16:24:18 +08:00
Hongxu Xu
534d71a852
disable private editable in TEST_CONFIG by default
...
adjust test_visibility_filter test case
2022-06-16 08:52:57 +08:00
Jeremy Banks
c32f133236
fix: inserted imports must come after a shebang if present
2022-06-15 19:42:43 +00:00
Jeremy Banks
f32ad8362f
add failing test: inserts_after_shebang
2022-06-15 19:42:43 +00:00
Lukas Wirth
bc1aa93e7e
Polish
2022-06-15 18:35:48 +02:00
Lukas Wirth
1dd2c50298
Update test outputs
2022-06-15 18:07:37 +02:00
Lukas Wirth
0e41d15b82
Use the correct crates proc-macro loading error message
2022-06-15 18:06:33 +02:00
Lukas Wirth
1d34cdcac0
Diagnose unresolved attribute proc-macros
2022-06-15 17:34:13 +02:00
Lukas Wirth
7d51fc4640
Show proc-macro loading errors in unresolved-proc-macro diagnostics
2022-06-15 17:34:01 +02:00
bors
15c63c4119
Auto merge of #12541 - Veykril:vs-reload, r=Veykril
...
fix: Clear proc-macro changed flag when reloading workspace
2022-06-15 12:29:34 +00:00
Lukas Wirth
664a751f2b
fix: Clear proc-macro changed flag when reloading workspace
2022-06-15 14:29:13 +02:00
soruh
f52f5fed11
replace TODO with FIXME
2022-06-15 03:16:59 +02:00
soruh
dd0981e3bc
fix CI
2022-06-15 03:07:42 +02:00
soruh
6a28cccaee
remove dbg
2022-06-15 03:00:43 +02:00
soruh
8cac16b62e
cleanup
2022-06-15 02:59:32 +02:00
soruh
8e3bbaa57b
instanciate_empty_structs
2022-06-15 02:41:28 +02:00
Hongxu Xu
549c810436
revert hir-def lib.rs
2022-06-15 07:48:34 +08:00
Hongxu Xu
8805a768d4
check if the container is trait and inherit the visibility
2022-06-15 07:47:06 +08:00
Hongxu Xu
070456838d
remove inherit_visibility test case in item_tree
2022-06-14 23:24:48 +08:00
Hongxu Xu
ded412d56b
implement inherited_visibility in collector
2022-06-14 23:23:15 +08:00
Hongxu Xu
3f60e71a12
remove inherited_visibility in lower.rs
2022-06-14 21:44:07 +08:00
Hongxu Xu
d7eebd9706
add test cases to complete fn generated by macro in pub trait
2022-06-14 21:41:09 +08:00
Lukas Wirth
325ceaef19
fix: Check for the correct proc-macro settings in missing proc-macro diagnostics
2022-06-14 11:00:06 +02:00
Lukas Wirth
6438ef9aa3
internal: Bring back JodChild into flychecking for cancellation
2022-06-13 13:51:10 +02:00
bors
7db73875ac
Auto merge of #12519 - Veykril:hover-assoc, r=Veykril
...
feat: On assoc item name hover, render trait decl docs
2022-06-13 09:58:04 +00:00
Lukas Wirth
9b9c13fc40
feat: On assoc item name hover, render trait decl docs
2022-06-13 11:57:33 +02:00
bors
366bd7242e
Auto merge of #12515 - Veykril:rustc-proc-macros, r=Veykril
...
fix: Pass the build data to rustc_private crates
With this all proc-macros should resolve in rustc now when setting up the build script running command properly.
2022-06-12 17:35:55 +00:00
Lukas Wirth
10e9f47dce
fix: Pass the build data to rustc_private crates
2022-06-12 19:29:45 +02:00
Lukas Wirth
0e4eb647f6
More precise proc-macro errors
2022-06-12 18:44:46 +02:00
bors
4f2a67b26f
Auto merge of #12513 - Veykril:ty-utils, r=Veykril
...
internal: Simplify `hir_ty::utils`
2022-06-12 14:08:08 +00:00
Lukas Wirth
9153f17382
internal: Simplify hir_ty::utils
2022-06-12 16:07:08 +02:00
bors
d513f657a3
Auto merge of #12509 - Veykril:ty-utils, r=Veykril
...
internal: Remove `Generics::type_iter` in favor of `Generics::iter`
2022-06-12 12:40:57 +00:00
Lukas Wirth
7a0ab1358c
internal: Remove Generics::type_iter
in favor of Generics::iter
2022-06-12 14:40:37 +02:00
bors
eacade27ce
Auto merge of #12455 - bitgaoshu:fix_12441, r=flodiebold
...
fix : #12441 False-positive type-mismatch error with generic future
I think the reason is same with #11815 .
add ```Sized``` bound for ```AsyncBlockTypeImplTrait```.
2022-06-12 09:01:00 +00:00
bors
604b1c8409
Auto merge of #12508 - Veykril:req-retry, r=Veykril
...
fix: Don't respond to cancelled requests when retrying them
Fixes https://github.com/rust-lang/rust-analyzer/issues/12482
2022-06-12 00:56:52 +00:00
Lukas Wirth
ad109f7f0a
fix: Don't respond to cancelled requests when retrying them
2022-06-12 02:56:19 +02:00
bors
37b01f9f39
Auto merge of #12504 - rust-lang:Veykril-patch-1, r=Veykril
...
fix: Fix config patching for callable snippets
Closes https://github.com/rust-lang/rust-analyzer/issues/12498
2022-06-11 11:41:26 +00:00
Lukas Wirth
a7a1a83463
fix: Fix config patching for callable snippets
2022-06-11 13:41:06 +02:00
bors
5b746ec590
Auto merge of #12481 - XFFXFF:add_label_to_loop, r=Veykril
...
assist: add label to loop
closes : #12392
I changed `'loop` to `'l`, as `cargo check` says `'loop` is an invalid label name.
2022-06-11 11:34:08 +00:00
bors
ba329913fa
Auto merge of #12449 - Veykril:version, r=Veykril
...
Bring the version command output in line with other rust tools
Inspired by how cargo handles it
Fixes https://github.com/rust-lang/rust-analyzer/issues/12280
![image](https://user-images.githubusercontent.com/3757771/171680176-236451ee-2c6c-449f-8aa5-4a047e8cc907.png )
2022-06-10 23:35:38 +00:00
XFFXFF
e29a6780b1
restrict the assist so that it only appears if the cursor is on the loop keyword
2022-06-11 07:11:56 +08:00
XFFXFF
fac4d28012
change 'loop to 'l, as 'loop is not a valid label name
2022-06-11 07:11:56 +08:00
XFFXFF
0121cc1e29
make generated test pass and make tidy happy
2022-06-11 07:11:56 +08:00
XFFXFF
bb62180714
add more tests and some doc
2022-06-11 07:11:56 +08:00
XFFXFF
872536821c
Make add_label_to_loop basically work
2022-06-11 07:11:56 +08:00
bors
9ef01d0895
Auto merge of #12490 - yue4u:fix/show-enum-in-fresh-use-tree, r=Veykril
...
fix: complete non-std enum at the start of `use` completions
close : #12421
2022-06-10 20:33:17 +00:00
bors
7b663a3a4a
Auto merge of #12464 - harpsword:fix-inline-variable-mismatched-type, r=Veykril
...
feat: fix inline variable produce mismatched type
wrap reference for RefExpr initializer to fix #12453
2022-06-10 20:24:06 +00:00
bors
0bbead9fa0
Auto merge of #12473 - yue4u:fix/no-enum-parens-in-use, r=Veykril
...
fix: avoid adding enum parens in use path
close #12420
2022-06-10 20:03:29 +00:00
bors
e9d3fe0484
Auto merge of #12502 - Veykril:deps, r=Veykril
...
internal: Bump Dependencies
2022-06-10 19:51:04 +00:00
Lukas Wirth
76ae5434fa
internal: Bump Dependencies
2022-06-10 17:30:02 +02:00
bors
f58c26e0ba
Auto merge of #12501 - Veykril:dashmap, r=Veykril
...
internal: Update dashmap and freeze its version
2022-06-10 14:20:46 +00:00
Lukas Wirth
0cf677ab42
internal: Update dashmap and freeze its version
2022-06-10 16:19:52 +02:00
yue4u
2942863709
feat: append :: after
2022-06-09 16:45:46 +09:00
bors
79a4a464b0
Auto merge of #12487 - lukechu10:master, r=lnicola
...
minor: hide param inlay hint when argument is fn-like macro with similar name
Closes #12486
2022-06-08 14:55:17 +00:00
bors
b967f1797c
Auto merge of #12493 - bjorn3:fix_warnings, r=lnicola
...
Fix a couple of weak warnings found by rust-analyzer itself
2022-06-08 14:46:40 +00:00
Luke Chu
6079eeb1bf
Hide param inlay hint when argument is fn-like macro with similar name
2022-06-08 14:37:57 +00:00
bjorn3
c81608c6d2
Fix a couple of weak warnings found by rust-analyzer itself
2022-06-08 14:35:11 +00:00
bjorn3
f9e1ff6846
Add doc comment
2022-06-08 14:31:36 +00:00
bjorn3
c6827e2f47
Rustfmt
2022-06-08 14:22:17 +00:00
bjorn3
a07b3103b1
Add proc macro ABI for rustc 1.63
2022-06-08 13:41:10 +00:00
yue4u
55bc693356
fix: show non-std enum in a fresh use tree completion
2022-06-08 20:55:16 +09:00
KOLANICH
b3d2012659
Remove the unneeded destructuring assignment in run
in project-model/src/build_scripts.rs
2022-06-06 14:02:34 +03:00
Lukas Wirth
0be31d945e
fix: Fix trait impl completions using wrong insert position
2022-06-05 20:29:36 +02:00
yue4u
11693dad88
fix: avoid adding enum parens in use
2022-06-06 01:34:01 +09:00
bors
6d3396a492
Auto merge of #12466 - lnicola:worker-thread-stack, r=lnicola
...
Increase worker thread stack and name them
CC #11370
2022-06-05 07:59:42 +00:00
Lukas Wirth
d38b7b88c6
minor: Don't log cancelled diagnostics
2022-06-05 01:38:46 +02:00
Lukas Wirth
fbffe73612
fix: Fix match to if let assist for wildcard pats
2022-06-05 01:02:24 +02:00
Laurențiu Nicola
0b9cd8a468
Increase worker thread stack and name them
2022-06-04 20:48:51 +03:00
Lukas Wirth
62fede212a
Only record build script outputs when the output has been changed
2022-06-04 15:04:56 +02:00
harpsword
061c5ef075
feat: fix inline variable produce mismatched type
...
wrap reference for RefExpr initializer
2022-06-04 17:07:28 +08:00
bors
312913a640
Auto merge of #12461 - Veykril:completions, r=Veykril
...
Move trait_impl completion analysis into CompletionContext
2022-06-03 18:49:37 +00:00
Lukas Wirth
a2a74bf278
Remove some of the unnecessary helpfer functions from CompletionContext
2022-06-03 20:49:25 +02:00
Lukas Wirth
a0c1816e3a
Simplify
2022-06-03 19:55:30 +02:00
Lukas Wirth
98c0578f15
Move trait_impl completion analysis into CompletionContext
2022-06-03 19:49:02 +02:00
bors
d06d0f8774
Auto merge of #12459 - Veykril:completions, r=Veykril
...
internal: Clean up keyword completion handling
https://github.com/rust-lang/rust-analyzer/issues/12144
2022-06-03 15:20:30 +00:00
bors
d0a7ad4a7f
Auto merge of #12457 - Veykril:logging, r=Veykril
...
internal: Don't log default build script outputs
2022-06-03 15:11:02 +00:00
bors
43d9c3f649
Auto merge of #12460 - Veykril:move-guard, r=Veykril
...
minor: Reduce move-guard trigger range
2022-06-03 15:00:26 +00:00
Lukas Wirth
b34e27d25e
minor: Reduce move-guard trigger range
2022-06-03 17:00:03 +02:00
Lukas Wirth
d0e3114441
internal: Don't log default build script outputs
2022-06-03 16:46:16 +02:00
Lukas Wirth
2a60b8452e
Deduplicate
2022-06-03 16:33:37 +02:00
Lukas Wirth
522f66545f
Remove prev-sibling completion machinery
2022-06-03 16:25:37 +02:00
Lukas Wirth
6550a241fb
More precise where keyword completions
2022-06-03 16:11:26 +02:00
Lukas Wirth
c522669f00
Remove dead code
2022-06-03 15:46:17 +02:00
Lukas Wirth
c5dcc77b40
Fix visibility mods not being completed for field defs
2022-06-03 15:42:28 +02:00
Lukas Wirth
519ac81b57
internal: Move most remaining keyword completions to item list completions
2022-06-03 15:15:21 +02:00
bors
58b6d46d5a
Auto merge of #12333 - nolanderc:order-import-assist, r=Veykril
...
Order auto-imports by relevance
Fixes #10337 .
Basically we sort the imports according to how "far away" the imported item is from where we want to import it to. This change makes it so that imports from the current crate are sorted before any third-party crates. Additionally, we make an exception for builtin crates (`std`, `core`, etc.) so that they are sorted before any third-party crates.
There are probably other heuristics that should be added to improve the experience (such as preferring imports that are common elsewhere in the same crate, and ranking crates depending on the dependency graph). However, I think this is a first good step.
PS. This is my first time contributing here, so please be gentle if I have missed something obvious :-)
2022-06-03 07:49:59 +00:00
bors
ea15e1000f
Auto merge of #12452 - iDawer:assist.merge_selected_imports, r=Veykril
...
feature: `Merge imports` assist can merge multiple selected imports.
The selected imports have to have a common prefix in paths.
Select imports or use trees to merge:
```rust
$0use std::fmt::Display;
use std::fmt::Debug;
use std::fmt::Write;$0
```
Apply `Merge imports`:
```rust
use std::fmt::{Display, Debug, Write};
```
Closes #12426
2022-06-03 07:40:34 +00:00
bors
29fae10345
Auto merge of #12451 - TimNN:double-dollar, r=Veykril
...
feat: Support `$$` in macros.
The implementation mirrors what `rustc` currently does [1]. Part of #11952 .
\[1]: 0595ea1d12/compiler/rustc_expand/src/mbe/quoted.rs (L230-L241)
2022-06-03 07:23:48 +00:00
Laurențiu Nicola
7066b8e0ca
Shorten main thread name
2022-06-03 07:27:48 +03:00
bitgaoshu
1a97ab34db
fix : #12441 False-positive type-mismatch error with generic future
2022-06-03 10:47:41 +08:00
Tim Neumann
40bfb29e50
feat: Support $$
in macros.
...
The implementation mirrors what `rustc` currently does [1]. Part of #11952 .
[1]: 0595ea1d12/compiler/rustc_expand/src/mbe/quoted.rs (L230-L241)
2022-06-02 21:48:28 +02:00
iDawer
ea8899a445
Allow merging of multiple selected imports.
...
The selected imports have to have a common prefix in paths.
Before
```rust
$0use std::fmt::Display;
use std::fmt::Debug;$0
```
After
```rust
use std::fmt::{Display, Debug};
```
2022-06-02 23:15:55 +05:00
Lukas Wirth
a2a3ea86ea
Bring the version command output in line with other rust tools
2022-06-02 18:36:02 +02:00
XFFXFF
df67bbdcb3
fix: parsing of ?
opt-out trait bounds
...
thanks to Veykril
2022-06-02 21:30:18 +08:00
bors
2f0814ea35
Auto merge of #12347 - feniljain:fix_extract_module, r=Veykril
...
fix(extract_module) resolving import panics and improve import resolution
- Should solve #11766
- While adding a test case for this issue, I observed another issue:
For this test case:
```rust
mod x {
pub struct Foo;
pub struct Bar;
}
use x::{Bar, Foo};
$0type A = (Foo, Bar);$0
```
extract module should yield this:
```rust
mod x {
pub struct Foo;
pub struct Bar;
}
use x::{};
mod modname {
use super:❌ :Bar;
use super:❌ :Foo;
pub(crate) type A = (Foo, Bar);
}
```
instead it gave:
```rust
mod x {
pub struct Foo;
pub struct Bar;
}
use x::{};
mod modname {
use x::Bar;
use x::Foo;
pub(crate) type A = (Foo, Bar);
}
```
So fixed this problem with second commit
2022-06-02 12:37:17 +00:00
bors
6f7c5589ab
Auto merge of #12443 - Veykril:fmtfix, r=Veykril
...
minor: Fix rustfmt failing on main_loop.rs
2022-06-01 19:23:22 +00:00
Lukas Wirth
343562c54d
minor: Fix rustfmt failing on main_loop.rs
2022-06-01 21:20:54 +02:00
Maan2003
bad931116e
fix(diagnostic): Don't remove diagnostic with empty message
...
Use " " as message if it is empty
2022-06-01 18:38:53 +05:30
bors
4f5c7aafff
Auto merge of #12431 - Veykril:request-retry, r=Veykril
...
fix: Fix completions disappearing when typing two keys in quick succession
With this PR we now retry requests if they get cancelled due to document changes.
This fixes the completions problem we have where completions seem to randomly disappear, see https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Completions.20not.20always.20appearing
Fixes https://github.com/rust-lang/rust-analyzer/issues/10187
Fixes https://github.com/rust-lang/rust-analyzer/issues/7560
Fixes https://github.com/rust-lang/rust-analyzer/issues/12153
2022-06-01 10:18:50 +00:00
Lukas Wirth
d88ae66ed9
Sync handlers cannot be cancelled
2022-06-01 12:18:15 +02:00
Lukas Wirth
e2da967578
fix: Fix completions disappearing when typing two keys in quick succession
2022-06-01 00:20:47 +02:00
bors
e25cbf8584
Auto merge of #12430 - Veykril:completions, r=Veykril
...
minor: Remove unused code
2022-05-31 18:22:41 +00:00
Lukas Wirth
1234d8647f
minor: Remove unused code
2022-05-31 20:21:50 +02:00
Ryo Yoshida
b7a4175cbb
Implement type inference for assignee expressions
2022-06-01 01:28:12 +09:00
Ryo Yoshida
62d6b5a594
Generalize some inference functions for patterns
2022-06-01 01:22:11 +09:00
Ryo Yoshida
c1c867506b
Add Expr::Underscore
2022-06-01 01:21:57 +09:00
bors
c2099fe941
Auto merge of #12336 - bitgaoshu:mismatch, r=flodiebold
...
fix : #12267 type-mismatch when using equals w/ a trait bound
2022-05-31 09:48:54 +00:00
feniljain
25f3e7a33c
fix: float display impl
2022-05-31 10:13:03 +05:30
feniljain
8a1ef52f5c
fix(extract_module): Remove redundancy causing else, and also add import fix loop for names
2022-05-31 09:51:42 +05:30
bors
a5d7ab54f9
Auto merge of #12418 - Veykril:completions, r=Veykril
...
internal: More precise completion filtering with existing item qualifiers
Now we are approaching the more complex cases for filtering completions
2022-05-30 14:05:37 +00:00
Lukas Wirth
0327df224b
More precise completion filtering
2022-05-30 16:01:17 +02:00
Lukas Wirth
ea594c4c44
Use char for trigger character
2022-05-30 14:17:58 +02:00
Lukas Wirth
aced76d0ff
Add implicit static lifetime hints
2022-05-30 13:59:58 +02:00
bors
9ceaff91d3
Auto merge of #12406 - harpsword:fix-add-inlayHints-closures-without-block, r=Veykril
...
fix: add an option to show inlay hint for return type of closures wit…
fix #12321
2022-05-30 11:36:55 +00:00
bors
bd0c2344f2
Auto merge of #12387 - 00nktk:fix-mod-rename, r=Veykril
...
fix(ide-db): correct single-file module rename
Fixes a bug where rust-analyzer would emit `WorkspaceEdit`s with paths to dirs instead of files for the following project layout.
lib.rs
```rust
mod foo;
```
foo.rs
```rust
mod bar {
struct Bar;
}
```
Also fixes emitted paths for modules with mod.rs.
The bug resulted in panic in helix editor when attempting to rename a module.
2022-05-30 11:29:55 +00:00
bors
e4ead8a7c6
Auto merge of #12412 - yue4u:fix/visibility-completion, r=Veykril
...
fix: Retrigger visibility completion after parentheses
close #12390
This PR add `(` to trigger_characters as discussed in original issue.
Some questions:
1. Is lsp's `ctx.trigger_character` from `params.context` is the same as `ctx.original_token` inside actually completions?
1. If not what's the difference?
2. if they are the same, it's unnecessary to pass it down from handler at all.
3. if they are the same, maybe we could parse it from fixture directly instead of using the `check_with_trigger_character` I added.
2. Some completion fixtures written as `($0)` ( https://github.com/rust-lang/rust-analyzer/blob/master/crates/ide-completion/src/tests/fn_param.rs#L105 as an example), If I understand correctly they are not invoked outside tests at all?
1. using `ctx.original_token` directly would break these tests as well as parsing trigger_character from fixture for now.
2. I think it make sense to allow `(` triggering these cases?
3. I hope this line up with #12144
2022-05-30 11:22:10 +00:00
yue4u
1b5f0462ed
fix: visibility completion
2022-05-30 00:06:48 +09:00
Ryo Yoshida
be2fa2b31b
fix overflow during tuple struct type inference
2022-05-29 16:22:33 +09:00
harpsword
55509548e8
fix: add an option to show inlay hint for return type of closures without block
2022-05-28 22:12:30 +08:00
Nikita Podoliako
d98c04aac1
fix(ide-db): correct single-file module rename
2022-05-28 15:07:22 +03:00
Christofer Nolander
8e5b318d99
Cleanup auto-import ordering
...
Addresses issues raised by @Veykril in #12333
2022-05-28 11:32:07 +02:00
bors
6c9fc4fec2
Auto merge of #12402 - Veykril:feat-docs, r=Veykril
...
minor: Freshen up goto feature docs
Fixes https://github.com/rust-lang/rust-analyzer/issues/2541
2022-05-27 13:47:56 +00:00
Lukas Wirth
86576072ab
minor: Freshen up goto feature docs
2022-05-27 15:47:31 +02:00
bors
bd06902f90
Auto merge of #12395 - feniljain:fix_bugs, r=Veykril
...
fix: f32 and f64 representation during lowering
should fix #12380
2022-05-27 12:44:08 +00:00
bors
145bad473d
Auto merge of #12341 - vemoo:exclude_dirs, r=Veykril
...
make `files.excludeDirs` work
There's a small issue because if all projects are excluded, this: 01d412f4d7/crates/rust-analyzer/src/main_loop.rs (L114)
will be shown.
I thought about not showing it if `files.excludeDirs` is set, but that is not necessarily correct.
Fixes #7755
2022-05-27 12:35:48 +00:00
feniljain
1f4870ff1c
fix: f32 and f64 representation during lowering
2022-05-26 20:03:05 +05:30
bors
37c7f3c4cf
Auto merge of #12393 - Veykril:hir-def, r=Veykril
...
internal: Remove `Interned` usage from nameres collector
2022-05-26 11:01:08 +00:00
Lukas Wirth
7913ae69b9
internal: Remove Interned
usage from nameres collector
2022-05-26 12:59:57 +02:00
Amos Wenger
c06c4f9682
Make test pass
2022-05-25 18:31:08 +02:00
Amos Wenger
05563805b1
Add test for #12372 (generate enum variant in different file)
2022-05-25 18:18:08 +02:00
Amos Wenger
89e27ed0b9
Generate variant: insert code in file with enum definition
...
Closes #12372
2022-05-25 16:43:15 +02:00
Lukas Wirth
5410ace1fe
fix: Clear native diagnostics for files when they are deleted
2022-05-25 15:47:41 +02:00
Lukas Wirth
f02c915eb5
internal: Make autoclosing angle brackets configurable, disabled by default
2022-05-25 12:42:07 +02:00
bors
d7c147406e
Auto merge of #12377 - Veykril:logs, r=Veykril
...
minor: log build script invocations
2022-05-24 21:10:32 +00:00
Lukas Wirth
7274a48657
minor: log build script invocations
2022-05-24 22:56:49 +02:00
Lukas Wirth
86d1d9067e
fix: Insert whitespace into trait-impl completions when coming from macros
2022-05-24 22:56:33 +02:00
Lukas Wirth
6f006b7524
Simplify
2022-05-24 21:58:47 +02:00
Lukas Wirth
6a8b8a6039
internal: Refactor our record pat/expr handling in completion context
2022-05-24 13:24:36 +02:00
Lukas Wirth
697ade6f8d
internal: Simplify DotAccess representation in completions
2022-05-24 11:54:50 +02:00
andylizi
e34ae760f0
add test for macro expand formatting
2022-05-24 12:45:58 +08:00
andylizi
ebf8b1a96e
ide: insert whitespaces surrounding _
in macro expansion
2022-05-24 07:54:43 +08:00
bors
402dba8d04
Auto merge of #12360 - Veykril:completion, r=Veykril
...
fix: Fix completions not working after attributes
Closes https://github.com/rust-lang/rust-analyzer/issues/12259
2022-05-23 15:24:10 +00:00
Lukas Wirth
2aa22730f1
fix: Fix completions not working after attributes
2022-05-23 17:22:48 +02:00
Lukas Wirth
9f6d99c6bd
minor: Simplify syntax-highlighting macro checks
2022-05-23 17:03:19 +02:00
bors
db9930b986
Auto merge of #12357 - Veykril:find-ref-macro, r=Veykril
...
fix: When reference searching macro inputs, don't search everything that was downmapped
Fixes https://github.com/rust-lang/rust-analyzer/issues/11668
2022-05-23 14:12:35 +00:00
Lukas Wirth
377c9247e6
fix: When hovering macro inputs, don't show everything that was downmapped
2022-05-23 16:11:36 +02:00
Lukas Wirth
ad537be194
fix: When reference searching macro inputs, don't search everything that was downmapped
2022-05-23 16:09:56 +02:00
bors
238253c22d
Auto merge of #12355 - ruabmbua:fix-inference-pattern-wildcards, r=flodiebold
...
Fix inference when pattern matching a tuple field with a wildcard
This should fix the following issue: https://github.com/rust-lang/rust-analyzer/issues/12331
* Replaced the `err_ty` in `infer_pat()` with a new type variable.
* Had to change the iterator code a bit, to get around multiple mutable borrows of `self` in `infer_pat()`.
Also added a test
* Also added a test
2022-05-23 10:38:19 +00:00
Roland Ruckerbauer
86bb27f1a4
Fix inference when pattern matching a tuple field with a wildcard.
2022-05-23 12:24:54 +02:00
DQ
f3a5475082
Keep the other is
in reload.rs
docs
2022-05-23 10:29:03 +02:00
DQ
914ff6a395
Fix typo in new reload.rs
docs
...
Just skimmed today's changelog and came across the repetition
2022-05-23 09:35:32 +02:00
Brennan Vincent
364dd5ff89
Fix build on OpenBSD (and probably other BSDs too)
...
notify-5.0.0-pre.14 does not build on these systems; this was fixed in
41a74f0e98
, which landed in pre.15.
2022-05-22 17:04:57 -04:00
bors
4b0f9c588d
Auto merge of #12334 - fasterthanlime:gh-11635, r=Veykril
...
Generate enum variant assist
So, this is kind of a weird PR!
I'm a complete newcomer to the `rust-analyzer` codebase, and so I browsed the "good first issue" tag, and found #11635 . Then I found two separate folks had taken stabs at it, most recently `@maartenflippo` — and there had been a review 3 days ago, but no activity in a little while, and the PR needed to be rebased since the crates were renamed from `snake_case` to `kebab-case`.
So to get acquainted with the codebase I typed this PR by hand, looking at the diff in #11995 , and I also added a doc-test (that passes).
I haven't taken into account the comments `@Veykril` left in #11995 , but I don't want to steal any of `@maartenflippo's` thunder! Closing this PR is perfectly fine. Or Maarten could use it as a "restart point"? Or I could finish it up, whichever feels best to everyone.
I think what remains to be done in this PR, at least, is:
* [x] Only disable the "generate function" assist if the name is `PascalCase`
* [x] Only enable the "generate variant" assistant if the name is `PascalCase`
* [x] Simplify with `adt.source()` as mentioned here: https://github.com/rust-lang/rust-analyzer/pull/11995#discussion_r875134175
* [ ] Add more tests for edge cases? Are there cases where simply adding one more indent level than the enum's indent level is not good enough? Some nested trickery I'm not thinking of right now?
Anyway. This PR can go in any direction. You can tell me "no, tackle your own issue!" And I'll go do that and still be happy I got to take a look at rust-analyzer some by doing this. Or you can tell me "okay, now _you_ finish it", and I guess I'll try and finish it :)
Closes #11635
2022-05-22 17:01:26 +00:00
Amos Wenger
ae2c0db67f
Pull text creation into the closure
2022-05-22 18:38:14 +02:00
Amos Wenger
796c4d8a10
Better lowercase/uppercase checks
2022-05-22 18:31:12 +02:00
bors
65a213c9fa
Auto merge of #12281 - lnicola:increase-overflow-depth, r=lnicola
...
Increase defalt chalk overflow depth to match max solver size
TBC:
- #12279 : ok above 480
- ~~#12182~~
- ~~#12095~~
- #11902 : ok above 350
- ~~#11668~~
- #11370 : ok above 450
- #9754 : probably ok above 250 (!), and the code in cause and branch are gone
Closes #12279
Closes #11902
Closes #11370
Closes #9754
2022-05-22 15:14:26 +00:00
Laurențiu Nicola
8b56d42db9
Increase defalt chalk overflow depth to match max solver size
2022-05-22 18:10:38 +03:00
feniljain
89f449b75d
fix(extract_module): import resolution for items of submodules
2022-05-22 17:11:15 +05:30
bors
038a71a201
Auto merge of #12345 - bvanjoi:escape_format_spcifier, r=Veykril
...
feat: escape format specifier(close : #12258 )
solve https://github.com/rust-lang/rust-analyzer/issues/12258
2022-05-22 10:41:31 +00:00
bors
3535a052ce
Auto merge of #12346 - rainy-me:fix/builtin-type-docs-links, r=Veykril
...
fix: special case base url of `BuiltinType` to core
fix #12250
2022-05-22 10:33:43 +00:00
rainy-me
3a380d4b3a
fix: special case base url of BuiltinType
to core
2022-05-22 18:50:40 +09:00
Felicián Németh
f7c963c0f2
onTypeFormatting: don't insert > if another > is there
2022-05-22 10:40:53 +02:00
Felicián Németh
3bb02f2329
feat: Add on-typing handler for left angle
...
Only advertise this feature in the server capabilities when the client
supports SnippetTextEdit.
Close #11398 .
Co-authored-by: unexge <unexge@gmail.com>
2022-05-22 10:40:37 +02:00
Felicián Németh
636d4880c4
internal: Allow OnTypeFormatting to send SnippetTextEdit
...
But continue to send TextEdit only.
2022-05-22 10:39:18 +02:00
bvanjoi
f6b8525b1d
feat: escape format specifier( close : #12258 )
2022-05-22 15:32:24 +08:00
Bernardo Uriarte
1ee8fefcff
take into account excludeDirs when computing linked_projects
2022-05-21 16:18:55 +02:00
Bernardo Uriarte
7009e5ab35
add failing test
2022-05-21 16:11:51 +02:00
feniljain
ddd59b9a9a
fix(extract_module): nearby imports deletion causing panic
2022-05-21 19:13:49 +05:30
bors
01d412f4d7
Auto merge of #12339 - matklad:dead, r=matklad
...
dead code
2022-05-21 12:40:29 +00:00
Aleksey Kladov
7734a8b72f
dead code
2022-05-21 13:39:59 +01:00
Aleksey Kladov
cbdab0e647
internal: document overall approach to reload
2022-05-21 13:11:05 +01:00
bitgaoshu
7c5e97221f
mismatch
2022-05-21 17:26:03 +08:00
Christofer Nolander
068b138c87
Remove unecessary unwrap
2022-05-21 10:25:12 +02:00
Amos Wenger
707a5683b1
Still suggest generating enum methods if the name ref starts with a lowercase letter
2022-05-21 01:43:05 +02:00
Amos Wenger
0ed85beb15
Don't suggest enum variant if name_ref start with ASCII lowercase letter
2022-05-21 01:36:26 +02:00
Amos Wenger
7d716cbeb9
Simplify with adt.source()
2022-05-21 01:32:25 +02:00
Amos Wenger
2347da8c8d
Generate enum variant assist
...
This also disables "generate function" when what we clearly want is to
generate an enum variant.
Co-authored-by: Maarten Flippo <maartenflippo@outlook.com>
2022-05-21 01:18:35 +02:00
Christofer Nolander
aef16300f7
Order auto-imports by relevance
...
This first attempt prefers items that are closer to the module they are
imported in.
2022-05-21 00:07:06 +02:00
Jonas Schievink
33939a3db1
Don't swallow build script errors
2022-05-20 17:28:39 +02:00
bors
2a978e1404
Auto merge of #12328 - Veykril:simplify, r=Veykril
...
minor: Simplify
2022-05-20 15:03:59 +00:00
Lukas Wirth
88e297e47d
minor: Simplify
2022-05-20 16:52:10 +02:00
Jonas Schievink
60a2ab4c67
Rename Expr::Lambda
to Expr::Closure
2022-05-20 15:40:32 +02:00
Jonas Schievink
3e356c1fd3
Clear cargo check
diagnostics when flycheck is turned off
2022-05-20 15:07:55 +02:00
bors
7f226fc912
Auto merge of #12324 - jonas-schievink:rm-attribute, r=jonas-schievink
...
feat: Revert the "Add attribute" assist
Reverts https://github.com/rust-lang/rust-analyzer/pull/12296 , as the added indirection and "assist noise" (the assist has to trigger inside the body of an item to match what the "Add `#[derive]`" does) makes this not really pull its weight over just using attribute completions.
Keeps the changes to "Add getter". `#[must_use]` can be applied using the attribute completions.
2022-05-20 12:57:08 +00:00
Jonas Schievink
e52d463524
Revert the "Add attribute" assist
2022-05-20 14:39:22 +02:00
bors
41388bf81a
Auto merge of #12263 - andylizi:hide-type-hint-closure, r=Veykril
...
feat: hide type inlay hints for initializations of closures
![hide_closure_initialization](https://user-images.githubusercontent.com/12008103/168470158-6cb77b18-068e-4431-a8b5-e2b22d50d263.gif )
This PR adds an option to hide the inlay hints for `let IDENT_PAT = CLOSURE_EXPR;`, which is a somewhat common coding pattern. Currently the inlay hints for the assigned variable and the closure expression itself are both displayed, making it rather repetitive.
In order to be consistent with closure return type hints, only closures with block bodies will be hid by this option.
Personally I'd feel comfortable making it always enabled (or at least when closure return type hints are enabled), but considering the precedent set in #10761 , I introduced an off-by-default option for this.
changelog feature: option to hide type inlay hints for initializations of closures
2022-05-20 12:35:36 +00:00
bors
f5229cebb2
Auto merge of #12301 - harpsword:fix_for_crlf_cargo_range_map, r=jonas-schievink
...
fix: calculate correct postion for Dos line ending in mapping rustc range to ls…
fix #12293
2022-05-20 12:15:22 +00:00
andylizi
2b1c1a934c
feat: hide type inlay hints for initializations of closures
2022-05-20 17:42:56 +08:00
NotWearingPants
641b78a162
hide closure ret hints if ret type is specified
...
fixes #12319
2022-05-20 02:35:37 +03:00
Jonas Schievink
52ff863abc
Teach Callable
about closures properly
2022-05-19 18:53:08 +02:00
bors
eba26af9f1
Auto merge of #12314 - jonas-schievink:proc-macro-load, r=jonas-schievink
...
minor: simplify
2022-05-19 14:50:08 +00:00
bors
46b5483055
Auto merge of #12313 - equinox:typo-fix, r=lnicola
...
Removed duplicate 'to' in `cachePriming.numThreads` option description
One 'to' too many!
2022-05-19 14:22:09 +00:00
Equinox
7197042ac4
remove duplicate 'to' in cachePriming.numThreads
option description
2022-05-20 02:05:48 +12:00
bors
57861bd99e
Auto merge of #12311 - Veykril:inlay-hints-tips, r=Veykril
...
internal: Improve inlay hint tooltips
2022-05-19 13:45:05 +00:00
Lukas Wirth
9ebb55d354
Hide more unnecessary parameter hints for constructors
2022-05-19 15:44:52 +02:00
Jonas Schievink
b2779111b4
simplify
2022-05-19 15:29:35 +02:00
Lukas Wirth
5fe28441b8
Update test fixtures
2022-05-19 15:20:45 +02:00
Lukas Wirth
b08bbd7be0
Enable hovering function parameter inlay hints
2022-05-19 14:32:40 +02:00
Lukas Wirth
74230e26ff
internal: Improve inlay hint tooltips
2022-05-19 13:38:37 +02:00
bors
4f7d1a9d69
Auto merge of #12309 - Veykril:completion, r=Veykril
...
fix: Fix incorrect expected type in completions for trailing match arms
Fixes https://github.com/rust-lang/rust-analyzer/issues/12264
2022-05-19 10:34:36 +00:00
Lukas Wirth
018975b041
fix: Fix incorrect expected type in completions for match arms
2022-05-19 12:33:25 +02:00
Jonas Schievink
5279cdbefb
Include self type in generated getter/setter docs
2022-05-18 19:22:04 +02:00
Jonas Schievink
93b62dbe85
Improve docs generation assist
2022-05-18 18:05:21 +02:00
harpsword
dfae0a12ef
fix: calculate right range for Dos line ending in mapping rustc range to lsp range
2022-05-18 21:08:18 +08:00
bors
187bd7d48a
Auto merge of #12130 - weirane:let-else-let-match, r=weirane
...
Turn let-else statements into let and match
Fixes #11906 .
2022-05-17 19:01:18 +00:00
weirane
4a0821f332
Simplify const reference check
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2022-05-17 11:43:53 -07:00
Jonas Schievink
cb135ae71b
Add a "Add attribute" assist
2022-05-17 20:28:25 +02:00
Lukas Wirth
58a241134c
Update test output
2022-05-17 14:58:26 +02:00
Lukas Wirth
21f37a6d9e
Allow inlay hint tooltips to trigger hovers
2022-05-17 14:46:43 +02:00
Lukas Wirth
a2ec010185
Trigger hover requests on closing brace hints
2022-05-17 13:39:45 +02:00
Lukas Wirth
0756719a30
Replace some SmolStr usages with String as the conversion happens anyways
2022-05-17 12:56:14 +02:00
Lukas Wirth
91833f1974
feat: Implement inlay hint tooltips
2022-05-17 12:49:51 +02:00
Lukas Wirth
12d5343993
internal: Cleanup lifetime elision hints
2022-05-17 12:18:07 +02:00
Jonas Schievink
1df6560fd8
Improve "Generate Deref
impl" assist
2022-05-16 20:10:46 +02:00
Jonas Schievink
54c8c39da0
Don't generate documentation in generate_setter
2022-05-16 19:27:27 +02:00
Jonas Schievink
f1b6e45fba
Handle getters and setters in documentation template assist
2022-05-16 19:10:38 +02:00
bors
825ce48180
Auto merge of #12271 - bitgaoshu:box_with_expec, r=flodiebold
...
fix #12227 Type mismatch error shown
add box expectation hint
2022-05-16 15:00:36 +00:00
Jonas Schievink
5ee028bbb8
Fix signature help LSP offset conversion
2022-05-16 15:48:38 +02:00
Jonas Schievink
fccc12982e
Add closing brace hints for macros
2022-05-16 15:23:25 +02:00
bitgaoshu
e362929fa1
add box expection hint
2022-05-16 21:17:00 +08:00
Jonas Schievink
867a7dc7a0
Show inlay hints after a }
to indicate the closed item
2022-05-16 14:55:47 +02:00
Aleksey Kladov
2f3453994a
minor: rename
2022-05-16 12:42:48 +01:00
bors
1dc25e51a0
Auto merge of #12253 - Veykril:bm, r=Veykril
...
feat: Add binding mode inlay hints
![image](https://user-images.githubusercontent.com/3757771/168427387-2f299438-a0cc-496b-a9a5-d689ef6a2b55.png )
2022-05-16 11:16:22 +00:00
bors
5ae9847dea
Auto merge of #12262 - jhgg:fix-whitespace-between-mut-self-in-macro-expansion, r=lnicola
...
ide: insert whitespace between 'mut' and 'self' in macro expansion
fixes #12260
2022-05-15 12:47:38 +00:00
bors
fa133d065b
Auto merge of #12190 - harpsword:fix_diagostics_map_incorrectly, r=harpsword
...
fix cargo check diagnostics are mapped incorrectly with non-BMP codepoints
fix #11945
2022-05-15 09:48:51 +00:00
Jake Heinz
4efc2a9df2
ide: insert whitespace between 'mut' and 'self' in macro expansion
2022-05-15 07:55:13 +00:00
bors
1ff5b2cab4
Auto merge of #12251 - matklad:lsp-server, r=matklad
...
internal: vendor lsp-server
2022-05-14 20:20:01 +00:00
Aleksey Kladov
57cb65bb7a
internal: vendor lsp-server
2022-05-14 21:15:43 +01:00
Lukas Wirth
7cbde1b3a5
Enable reborrow hints in attribute calls
2022-05-14 15:00:14 +02:00
Lukas Wirth
6b696fced8
feat: Add binding mode inlay hints
2022-05-14 14:58:35 +02:00
Lukas Wirth
622defb373
internal: Make VSCode config more GUI edit friendly
2022-05-14 13:53:41 +02:00
harpsword
7bd4c11e13
fix diagnostics location map incorrectly from rustc span to lsp position for non-BMP char
2022-05-14 19:19:55 +08:00
Lukas Wirth
8ac429dad9
fix: Fix incorrect hover actions config keys
2022-05-13 21:17:03 +02:00
Lukas Wirth
3577c44dee
fix: Fix fill-arguments completions not working
2022-05-13 19:52:44 +02:00
Jonas Schievink
0831f3123b
Fix tests
2022-05-13 15:54:46 +02:00
Jonas Schievink
9bd11459ba
Revert "Auto merge of #12149 - jonas-schievink:literally-just-a-literal, r=jonas-schievink"
...
This reverts commit cc9ae2b89e
, reversing
changes made to 7dfd1cb572
.
2022-05-13 15:08:14 +02:00
Jonas Schievink
2287ae22c6
Revert "Skip only the tt::Literal
when consuming float tokens"
...
This reverts commit 7db55313a1
.
2022-05-13 15:06:16 +02:00
Jonas Schievink
bde036b74e
Revert "Fix conversion of float literals in TtTreeSink
"
...
This reverts commit 43a066c5a8
.
2022-05-13 15:05:34 +02:00
Jonas Schievink
4fcdb96789
Revert "fix: Remap float parts as integers when parsed as indices"
...
This reverts commit dbb066b99e
.
2022-05-13 15:05:03 +02:00
Jonas Schievink
73e0e17b52
Revert "Don't remap float tokens to INT_NUMBER
"
...
This reverts commit cb5e8da88a
.
2022-05-13 15:04:36 +02:00
Jonas Schievink
cb5e8da88a
Don't remap float tokens to INT_NUMBER
2022-05-12 19:01:09 +02:00
Lukas Wirth
d57beac7e6
fix: Fix vscode config descriptions not recognizing all valid values
2022-05-12 18:15:48 +02:00
Lukas Wirth
252ffbf77a
fix: Fix old config patching overwriting callable snippet config unconditionally
2022-05-12 17:55:25 +02:00
bors
135164f547
Auto merge of #12226 - Veykril:reborrow-inlay-hints, r=Veykril
...
feat: Allow reborrow inlay hints to be restricted to mutable reborrows only
2022-05-12 12:21:06 +00:00
Lukas Wirth
c2190ad87c
feat: Allow reborrow inlay hints to be restricted to mutable reborrows only
2022-05-12 14:00:06 +02:00
bors
5901dfdf1b
Auto merge of #12224 - Veykril:anno-redundant, r=Veykril
...
internal: Remove redundant offset data in annotations
cc https://github.com/rust-lang/rust-analyzer/issues/12221
2022-05-12 11:31:11 +00:00
bors
3a69bfd0c2
Auto merge of #12225 - Veykril:tmapfloats, r=Veykril
...
internal: Add token mapping test for float literals
cc https://github.com/rust-lang/rust-analyzer/issues/12216
2022-05-12 11:18:36 +00:00
Lukas Wirth
4b505ce0f9
internal: Add token mapping test for float literals
2022-05-12 13:17:53 +02:00
Lukas Wirth
ca46c68b04
internal: Remove redundant offset data in annotations
2022-05-12 13:06:49 +02:00
Lukas Wirth
84176f6b24
internal: Rename primeCaches config keys
2022-05-12 12:30:00 +02:00
bors
94fa8a6534
Auto merge of #12213 - Veykril:config-fix, r=Veykril
...
fix: Fix incorrect config patching for runBuildScripts
2022-05-11 10:38:56 +00:00
Lukas Wirth
e68352a9f5
fix: Fix incorrect config patching for runBuildScripts
2022-05-11 12:38:21 +02:00
Elliot Roberts
2298a76222
fix typo in inlayHints.renderColons
option description
2022-05-10 19:15:07 -07:00
Lukas Wirth
b271ef8fd1
fix: Fix config patching failing when appending suffixes
2022-05-10 21:14:22 +02:00
Jonas Schievink
ac3c18bc17
Include assoc. types in trait signature help
2022-05-10 16:54:31 +02:00
Jonas Schievink
92e56e0c70
Fix inverted signature help setting
2022-05-10 16:54:13 +02:00
bors
254bfdd2c3
Auto merge of #12204 - Veykril:completions, r=Veykril
...
internal: Move keyword expressions to expr completions module
2022-05-10 13:08:27 +00:00
Lukas Wirth
b2abe1bca1
Move keyword expressions to expr completions module
2022-05-10 15:00:58 +02:00
bors
4a4e9c0ae0
Auto merge of #12203 - Veykril:completions, r=Veykril
...
internal: Simplify
2022-05-10 12:36:46 +00:00
Lukas Wirth
40bb8006cd
Don't parse files in module completion
2022-05-10 14:31:43 +02:00
Lukas Wirth
26fef97d59
Simplify
2022-05-10 14:31:28 +02:00
bors
cc695363e4
Auto merge of #12202 - iDawer:ide.sig_help-fix, r=lnicola
...
fix: don't panic at fully qualified call syntax in signature help
Closes #12200
Regressed from #12082
2022-05-10 12:28:34 +00:00
iDawer
956b8fb954
signature_help
: detect fully qualified call syntax for parameter fallback
2022-05-10 17:18:42 +05:00
bors
460e389f54
Auto merge of #12010 - Veykril:r-a-config, r=Veykril
...
Config revamp
Fixes https://github.com/rust-lang/rust-analyzer/issues/11790
Fixes https://github.com/rust-lang/rust-analyzer/issues/12115
This PR changes a lot of config names, and a few ones are being merged or split apart. The reason for this is that our configuration names currently are rather inconsistent and some where poorly chosen in regards to extensability. This PR plans to fix that.
We still allow the old config names by patching them to the new ones before deserializing to keep backwards compatability with other clients (the VSCode client will auto update the config) but ideally we will get rid of that layer in the future.
Here is a list of the changes:
These are simple renames `old_name | alias1 | alias2 ... -> new_name` (the vscode client will fix these up automagically):
```
assist_allowMergingIntoGlobImports -> imports_merge_glob
assist_exprFillDefault -> assist_expressionFillDefault
assist_importEnforceGranularity -> imports_granularity_enforce
assist_importGranularity | assist_importMergeBehavior | assist_importMergeBehaviour -> imports_granularity_group
assist_importGroup -> imports_group_enable
assist_importPrefix -> imports_prefix
cache_warmup -> primeCaches_enable
cargo_loadOutDirsFromCheck -> cargo_buildScripts_enable
cargo_runBuildScripts | cargo_runBuildScriptsCommand -> cargo_runBuildScripts_overrideCommand
cargo_useRustcWrapperForBuildScripts -> cargo_runBuildScripts_useRustcWrapper
completion_snippets -> completion_snippets_custom
diagnostics_enableExperimental -> diagnostics_experimental_enable
experimental_procAttrMacros -> procMacro_attributes_enable
highlighting_strings -> semanticHighlighting_strings_enable
highlightRelated_breakPoints -> semanticHighlighting_breakPoints_enable
highlightRelated_exitPoints -> semanticHighlighting_exitPoints_enable
highlightRelated_yieldPoints -> semanticHighlighting_yieldPoints_enable
highlightRelated_references -> semanticHighlighting_references_enable
hover_documentation -> hover_documentation_enable
hover_linksInHover | hoverActions_linksInHover -> hover_links_enable
hoverActions_debug -> hoverActions_debug_enable
hoverActions_enable -> hoverActions_enable_enable
hoverActions_gotoTypeDef -> hoverActions_gotoTypeDef_enable
hoverActions_implementations -> hoverActions_implementations_enable
hoverActions_references -> hoverActions_references_enable
hoverActions_run -> hoverActions_run_enable
inlayHints_chainingHints -> inlayHints_chainingHints_enable
inlayHints_closureReturnTypeHints -> inlayHints_closureReturnTypeHints_enable
inlayHints_hideNamedConstructorHints -> inlayHints_typeHints_hideNamedConstructorHints
inlayHints_parameterHints -> inlayHints_parameterHints_enable
inlayHints_reborrowHints -> inlayHints_reborrowHints_enable
inlayHints_typeHints -> inlayHints_typeHints_enable
lruCapacity -> lru_capacity
runnables_cargoExtraArgs -> runnables_extraArgs
runnables_overrideCargo -> runnables_command
rustcSource -> rustc_source
rustfmt_enableRangeFormatting -> rustfmt_rangeFormatting_enable
```
These are configs that have been merged or split apart, which have to be manually updated by the user:
```
callInfo_full -> signatureInfo_detail, signatureInfo_documentation_enable
cargo_allFeatures, cargo_features -> cargo_features
checkOnSave_allFeatures, checkOnSave_features -> checkOnSave_features
completion_addCallArgumentSnippets completion_addCallParenthesis -> completion_callable_snippets
```
2022-05-10 12:07:24 +00:00
bors
cf152e8a94
Auto merge of #12201 - Veykril:inlay-hide, r=Veykril
...
fix: Add cast expressions to param name inlay hint heuristics
2022-05-10 11:44:06 +00:00
Lukas Wirth
822d9b55b7
fix: Add cast expressions to param name inlay hint heuristics
2022-05-10 13:43:43 +02:00
Jonas Schievink
5a2398d775
Don't show assoc. type binding completions when invalid
2022-05-09 18:12:12 +02:00
Jonas Schievink
2156815f12
Make completion work too
2022-05-09 17:39:13 +02:00
Jonas Schievink
7e45915aa4
Resolve assoc. types of supertraits in the IDE layer
2022-05-09 17:30:49 +02:00
bors
c42cb9af48
Auto merge of #12197 - Veykril:insert-use-fix, r=Veykril
...
fix: Fix import insertion inserting after last comment in a file
2022-05-09 10:13:08 +00:00
Lukas Wirth
c0feb389ed
fix: Fix import insertion inserting after last comment in a file
2022-05-09 12:12:41 +02:00
bors
3d2d209638
Auto merge of #11983 - jhpratt:remove-rustc_deprecated, r=lnicola
...
Remove handling of `#[rustc_deprecated]`
This should be merged along with rust-lang/rust#95960 .
Because the attribute still exists in rustc, I've left the definition here. With that said, any use of it is an error, so I've removed any handling of `#[rustc_deprecated]`.
2022-05-09 08:33:18 +00:00
bors
5d5bbec9b6
Auto merge of #12187 - Veykril:completion-rev, r=Veykril
...
internal: More completion context refactoring
2022-05-07 14:25:12 +00:00
bors
bfb241afa3
Auto merge of #12188 - Veykril:auto-import, r=Veykril
...
fix: Allow auto importing starting segments of use items
2022-05-07 14:16:00 +00:00
Lukas Wirth
61e074f016
fix: Allow auto importing starting segments of use items
2022-05-07 15:52:22 +02:00
Lukas Wirth
a0fc649269
fix unreachable pub
2022-05-07 15:50:01 +02:00
Lukas Wirth
44c3cc100b
Merge the different identifier contexts into one enum
2022-05-07 15:06:59 +02:00
Lukas Wirth
99fa37d6e3
Split namelike into the corresponding completion contexts
2022-05-07 14:16:03 +02:00
Lukas Wirth
6a045c7029
Introduce NameRefContext
2022-05-07 13:46:43 +02:00
bors
f2216764c4
Auto merge of #12186 - Veykril:completion-rev, r=Veykril
...
minor: Move inferred type completions
2022-05-07 11:00:29 +00:00
Lukas Wirth
1dc83f5a90
minor: Move inferred type completions
2022-05-07 12:59:26 +02:00
Lukas Wirth
dbb066b99e
fix: Remap float parts as integers when parsed as indices
2022-05-07 12:52:15 +02:00
Jonas Schievink
43a066c5a8
Fix conversion of float literals in TtTreeSink
2022-05-06 18:39:06 +02:00
Jonas Schievink
7db55313a1
Skip only the tt::Literal
when consuming float tokens
2022-05-06 16:10:54 +02:00
bors
10dd471fd1
Auto merge of #12175 - Veykril:completion-rev, r=Veykril
...
fix: Fix snippets triggering where they shouldn't
Fixes https://github.com/rust-lang/rust-analyzer/issues/12169
2022-05-06 13:45:12 +00:00
Lukas Wirth
0ce620686c
fix: Fix snippets triggering where they shouldn't
2022-05-06 15:44:41 +02:00
bors
57c5447f90
Auto merge of #12174 - Veykril:completion-rev, r=Veykril
...
internal: Improve completion tests by checking that the offset is included in the source_range of items
2022-05-06 11:12:29 +00:00
Lukas Wirth
582f99d293
internal: Improve completion tests by checking that the offset is included in the source_range of items
2022-05-06 13:11:50 +02:00
bors
db1434b34f
Auto merge of #12171 - lnicola:proc-macros-dont-invalidate-state, r=Veykril
...
fix: Try not to invalidate state when the proc macro preference didn't change
This appears to fix #12027 , but I'm not sure.
2022-05-06 10:14:05 +00:00
Lukas Wirth
57a9915c1f
internal: completion PathKind is not optional
2022-05-06 12:04:41 +02:00
Laurențiu Nicola
97cdf3eb0e
Try not to invalidate our state when the proc macro preference didn't change
2022-05-06 09:49:03 +03:00
bors
dd3f5e0993
Auto merge of #12168 - Veykril:completion-rev, r=Veykril
...
internal: Remove unqualified_path completions module
2022-05-05 20:22:30 +00:00
Lukas Wirth
0c4e23b8ef
internal: Remove unqualified_path completions module
2022-05-05 22:21:42 +02:00
Wang Ruochen
8d7a393008
Check const reference
2022-05-05 11:44:11 -07:00
Wang Ruochen
81d7cbbbe2
Avoid allocations
2022-05-05 10:14:11 -07:00
Jonas Schievink
d974a0b889
Fix rebase fallout
2022-05-05 16:35:07 +02:00
Jonas Schievink
37443eb9a1
Maybe everything else *should* have to deal with it
2022-05-05 16:28:59 +02:00
Jonas Schievink
2fe38d3b63
Indicate the number of float tokens in the first token
2022-05-05 16:28:59 +02:00
Jonas Schievink
34dc8e9383
Wrap floats in token trees in FLOAT_LITERAL
node
2022-05-05 16:28:59 +02:00
Jonas Schievink
90bd99f1bb
Add completion test
2022-05-05 16:28:59 +02:00
Jonas Schievink
2a755495d0
Add tests
2022-05-05 16:28:59 +02:00
Jonas Schievink
1bc3305d95
Split float literal tokens at the .
2022-05-05 16:28:58 +02:00
Jonas Schievink
502c519e7d
Wrap float literals in their own node
2022-05-05 16:28:14 +02:00
Jonas Schievink
2d5d16f18c
Remove ast::Literal::token
2022-05-05 16:27:35 +02:00
Lukas Wirth
16d2e79b50
internal: Remove unqualified_path completions module
2022-05-05 15:50:40 +02:00
Lukas Wirth
25d133e3b8
internal: Lift out item list path completions from (un)qualified_path
2022-05-05 12:20:18 +02:00
bors
52a58f672e
Auto merge of #12160 - Veykril:completions-rev, r=Veykril
...
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 09:03:23 +00:00
Lukas Wirth
5280e08c13
minor: Sort ide-completions test outputs for less disruptive diffs
2022-05-05 10:53:20 +02:00
bors
01198da2a2
Auto merge of #12159 - Veykril:completions-rev, r=Veykril
...
internal: Lift out macro bang property from completion PathKind enum
2022-05-05 08:51:18 +00:00
Lukas Wirth
8b092ec337
internal: Lift out macro bang property from PathKind enum
2022-05-05 10:51:02 +02:00
Laurențiu Nicola
9856144b0b
Lower values of char and byte literals
2022-05-05 08:12:08 +03:00
bors
0218aeba7a
Auto merge of #12150 - rainy-me:feat/fix-doc-url-links, r=rainy-me
...
fix: doc url link type
fix : #12033
I did some debugging and found the cause looks like to be some doc links' `LinkType` are kept as `Shortcut` which don't make sense for url links.
This PR should resolve both problems in the origin issue, but aside this PR, more work are needed for doc_links.
about `LinkType`: f29bd1e228/src/lib.rs (L191-L210)
2022-05-05 04:54:12 +00:00
rainy-me
ddff1b22f9
fix: add docs and remove unnecessary check
2022-05-05 13:41:33 +09:00
Jacob Pratt
3c376e5be8
Remove handling of #[rustc_deprecated]
2022-05-04 22:25:58 -04:00
rainy-me
5f4351fbb6
fix: doc url link type
2022-05-05 00:41:29 +09:00
Lukas Wirth
73df43f69a
Implement old to new config patching
2022-05-04 15:29:25 +02:00
bors
1f709d5446
Auto merge of #12143 - bnjjj:master, r=Veykril
...
improve the default constructor mode when filling fields
Instead of filling a boolean field with `bool::default()` it's not `false` and same for `Option` instead of using `Option::default()` it will be `None`
2022-05-04 09:32:17 +00:00
bors
9ed4af8967
Auto merge of #12142 - WaffleLapkin:sort-items-by-trait-def, r=lnicola
...
feat: Sort items by trait definition assist
This PR replaces the "Sort **methods** by trait definition" assist with a "Sort **items** by trait definition" assist that sorts all items, not just methods.
![sort-items-by-trait-def-showcase](https://user-images.githubusercontent.com/38225716/166491828-0bc10dbd-91be-408f-9fe0-636ef5e99377.gif )
2022-05-04 09:08:22 +00:00
Benjamin Coenen
6344eea242
improve the default constructor mode when filling fields
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2022-05-04 09:45:12 +02:00
Maybe Waffle
e315124798
Remove "Sort methods by trait definition" assist
...
It was replaced by the "Sort items by trait definition" assist.
2022-05-04 00:59:23 +04:00
Maybe Waffle
2b20a05fc6
Add "Sort items by trait definition"
2022-05-03 19:57:39 +04:00
Maybe Waffle
d7ed351573
Fix some typos in ide-assists/src/lib.rs
2022-05-03 19:41:07 +04:00
iDawer
970276b559
'inference': collect RPIT obligations
...
Collect obligations from RPITs (Return Position `impl Trait`) of a function which is being inferred.
This allows inferring {unknown}s from RPIT bounds.
2022-05-03 15:59:12 +05:00
Wang Ruochen
a70beea9e9
Trigger only when cursor is on else
2022-05-02 15:20:13 -07:00
Jonas Schievink
1f50e19eb2
Add a Converter
type for token conversion
2022-05-02 17:47:12 +02:00
bors
f83dccf5b9
Auto merge of #12123 - rainy-me:feat/impl-self-completion, r=Veykril
...
feat: provide Self in record literal completion
close #12106
2022-05-02 12:29:49 +00:00
bors
9e10d4b717
Auto merge of #12093 - nico-abram:uwu, r=Veykril
...
Reload project on .cargo/config[.toml] changes
Fixes #11024
Not adding tests as discussed in the issue
2022-05-02 12:21:42 +00:00
bors
cc12d9df3f
Auto merge of #12120 - iDawer:ide.sig_help, r=Veykril
...
fix: Don't show signature help after closing bracket
Stop showing signature help after closing angle/round brackets.
Fixes #11624
2022-05-02 12:13:16 +00:00
Lukas Wirth
b6e19add06
minor: Add a test for display rendering record variants
2022-05-02 12:51:00 +02:00
Lukas Wirth
4f97950595
fix: Fix uncorrect use of double braces in HirDisplay implementations
2022-05-02 12:39:38 +02:00
Lukas Wirth
291f94e22e
Fix up config docs
2022-05-01 19:57:09 +02:00
Lukas Wirth
cb6032bdf4
Fix untagged enum deserialization
2022-05-01 19:57:09 +02:00
Lukas Wirth
1f11b70c3b
Final fixups
2022-05-01 19:57:09 +02:00
Lukas Wirth
9fe1b24736
Update config usage in slow tests
2022-05-01 19:57:09 +02:00
Lukas Wirth
3d17261972
Adjust signature info and enum variant lenses
2022-05-01 19:57:08 +02:00
Lukas Wirth
9f27eb57a5
Implement boolean aliases
2022-05-01 19:57:08 +02:00
Lukas Wirth
bd18936d51
Sort config definition
2022-05-01 19:57:08 +02:00
Lukas Wirth
61643aca49
Initial config revamp
2022-05-01 19:57:08 +02:00
Wang Ruochen
59cdb31874
Turn let-else statements into let and match
2022-05-01 09:43:51 -07:00
rainy-me
f3e3abfb98
feat: provide self in record literal completion
2022-05-01 21:01:28 +09:00
Peh
aade31943f
delete another swap file
2022-05-01 10:48:58 +00:00
Peh
14c30b7979
update crates names in slow-tests/tidy.rs
2022-05-01 10:48:58 +00:00
Peh
c9a8c69ee0
update diagnostic-docs crate name
2022-05-01 10:48:58 +00:00
Peh
e53bf7e9c2
updated ide-assist new dir name
2022-05-01 10:48:58 +00:00
Peh
55e7925ac8
delete a generated swap file
2022-05-01 10:48:58 +00:00
Peh
1f011fa4a3
style: rename crates to kebab case
2022-05-01 10:48:58 +00:00