Commit Graph

22143 Commits

Author SHA1 Message Date
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
bors
f94fa62d69 Auto merge of #12409 - lowr:fix/usize-overflow, r=Veykril
fix overflow during type inference for tuple struct patterns

The following code causes integer overflow during type inference for (malformed) tuple struct patterns.

```rust
struct S(usize);
let S(.., a, b) = S(1);
```

It has been panicking only in debug builds, and working in a way in release builds but it was inconsistent with type inference for tuple patterns:

```rust
struct S(usize);
let S(.., a, b) = S(1); // a -> unknown, b -> usize
let (.., a, b) = (1,);  // a -> usize, b -> unknown
```

With this PR, the overflow no longer happens by utilizing `saturating_sub()` like in other places and type inference for tuple struct patterns is in line with that for tuple patterns.
2022-05-29 08:45:15 +00: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
bors
732eb9a167 Auto merge of #12399 - Joehoel:patch-1, r=lnicola
typo: missing comma
2022-05-26 18:15:54 +00:00
Joël Kuijper
f872b61c56
typo: missing comma 2022-05-26 20:12:43 +02:00
bors
c567771605 Auto merge of #12397 - Hofer-Julian:patch-1, r=lnicola
Fix typo
2022-05-26 17:14:55 +00:00
Hofer-Julian
2916cd2a86
Fix typo 2022-05-26 19:12:49 +02: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
bors
92f363059a Auto merge of #12388 - Veykril:statusitem, r=Veykril
internal: Make use of the statusBarItem colors in VSCode

Fixes https://github.com/rust-lang/rust-analyzer/issues/7736
2022-05-26 10:31:23 +00:00
Lukas Wirth
02c2377229 internal: Use statusBarItem colors for status item in VSCode 2022-05-26 12:31:07 +02:00
bors
5b69a34fb5 Auto merge of #12386 - fasterthanlime:gh-12372-test, r=Veykril
Add test for #12372 (generate enum variant in different file)

The test currently fails but I'm not sure why.

The "Right" output seems to contain only the contents of `foo.rs`, without the magic comments:

<img width="967" alt="image" src="https://user-images.githubusercontent.com/7998310/170310707-e69b21eb-d4f8-46c1-8a0a-9b4071289e26.png">

cc `@Veykril`
2022-05-25 16:42:29 +00: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
bors
0468d84564 Auto merge of #12384 - fasterthanlime:gh-12372, r=Veykril
Generate variant: insert code in file with enum definition

Closes #12372
2022-05-25 14:49:51 +00:00
Amos Wenger
89e27ed0b9 Generate variant: insert code in file with enum definition
Closes #12372
2022-05-25 16:43:15 +02:00
bors
c13f04dcaa Auto merge of #12383 - Veykril:diag, r=Veykril
fix: Clear native diagnostics for files when they are deleted

Fixes https://github.com/rust-lang/rust-analyzer/issues/7004
2022-05-25 13:48:14 +00:00
Lukas Wirth
5410ace1fe fix: Clear native diagnostics for files when they are deleted 2022-05-25 15:47:41 +02:00
bors
3fe137a5b5 Auto merge of #12382 - Veykril:ontype, r=lnicola
internal: Make autoclosing angle brackets configurable, disabled by default

cc https://github.com/rust-lang/rust-analyzer/issues/12379
2022-05-25 11:29:50 +00: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
bors
161ab76008 Auto merge of #12376 - Veykril:completion, r=Veykril
fix: Insert whitespace into trait-impl completions when coming from macros

Fixes https://github.com/rust-lang/rust-analyzer/issues/12278
2022-05-24 20:57:05 +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
bors
4ca47b3432 Auto merge of #12373 - Veykril:completion, r=Veykril
internal: Refactor our record pat/expr handling in completion context
2022-05-24 11:26:04 +00:00
Lukas Wirth
6a8b8a6039 internal: Refactor our record pat/expr handling in completion context 2022-05-24 13:24:36 +02:00
bors
7a4994d948 Auto merge of #12361 - Veykril:completion, r=Veykril
internal: Simplify DotAccess representation in completions

`@bors` r+
2022-05-24 09:55:13 +00:00
Lukas Wirth
697ade6f8d internal: Simplify DotAccess representation in completions 2022-05-24 11:54:50 +02:00
bors
d5965aa871 Auto merge of #12370 - andylizi:macro-expand-underscore, r=lnicola
ide: insert whitespaces surrounding `_` in macro expansion

#### Before

```rust
for_in 0..10 {
  foo();
}
```

#### After

```rust
for _ in 0..10 {
  foo();
}
```
2022-05-24 06:52:00 +00:00
andylizi
e34ae760f0
add test for macro expand formatting 2022-05-24 12:45:58 +08:00
bors
cc8140a7c7 Auto merge of #12371 - jhgg:fix/extra-env-non-string-value-handling, r=lnicola
vscode: fix extraEnv handling numeric values

fixes #12363 by bringing the types more inline with the reality, and making `Env` not a lie.
2022-05-24 04:11:19 +00:00
Jake Heinz
b8ee992b57 prettier 2022-05-24 03:11:30 +00:00
Jake Heinz
d1aa6d3216 vscode: fix extraEnv handling numeric values 2022-05-24 03:00:29 +00:00
andylizi
ebf8b1a96e
ide: insert whitespaces surrounding _ in macro expansion 2022-05-24 07:54:43 +08:00
bors
81805d4cfc Auto merge of #12366 - rust-lang:revert-12349-universal-vsix, r=lnicola
Revert "internal: Publish universal VSIX to make VS happy"

Reverts rust-lang/rust-analyzer#12349
2022-05-23 20:55:29 +00:00
Laurențiu Nicola
0ab4a5f90b
Revert "internal: Publish universal VSIX to make VS happy" 2022-05-23 23:45:46 +03:00
bors
ac69da8db7 Auto merge of #12365 - rust-lang:revert-12359-universal-vsix-part-2, r=lnicola
Revert "internal: Try to publish the universal VSIX before the other ones"

Reverts rust-lang/rust-analyzer#12359
2022-05-23 20:45:03 +00:00
Laurențiu Nicola
04587b4b1a
Revert "internal: Try to publish the universal VSIX before the other ones" 2022-05-23 23:44:08 +03:00
bors
7be85a5b4a Auto merge of #12359 - lnicola:universal-vsix-part-2, r=lnicola
internal: Try to publish the universal VSIX before the other ones

CC https://github.com/microsoft/vscode/issues/149518#issuecomment-1134782535
2022-05-23 15:43:19 +00:00