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