Lukas Wirth
0f8904ec9c
Implement invocation location config
2022-10-22 23:33:03 +02:00
bors
19efa0b110
Auto merge of #13463 - lowr:fix/builtin-derive-with-const-generics, r=Veykril
...
Support const generics for builtin derive macro
Fixes #13121
We have been treating every generic parameter as type parameter during builtin derive macro expansion. This patch adds support for const generics in such expansions.
2022-10-22 15:49:00 +00:00
Ryo Yoshida
6459d7f817
Support const generics for builtin derive macro
2022-10-23 00:05:22 +09:00
bors
d3b7e94d0a
Auto merge of #13460 - emilio:scip-cleanups, r=Veykril
...
scip: minor clean-ups
Avoids a couple redundant hash map lookups and so.
2022-10-22 13:46:23 +00:00
bors
b643dd6ea6
Auto merge of #13461 - emilio:ide-cleanup-continue, r=Veykril
...
ide: Remove unnecessary continue.
Just a minor clean-up I found while going through the code.
2022-10-22 13:29:58 +00:00
Emilio Cobos Álvarez
ec6d72baa1
scip: Rewrite tests to be closer to what we actually do.
...
It's also less code.
2022-10-22 15:21:31 +02:00
Emilio Cobos Álvarez
bd49d01906
ide: Remove unnecessary continue.
2022-10-22 15:15:10 +02:00
Emilio Cobos Álvarez
7ee72256eb
scip: minor clean-ups
...
Avoids a couple redundant hash map lookups and so.
2022-10-22 14:14:43 +02:00
bors
8ee23f4f0a
Auto merge of #13453 - Veykril:disabled-commands, r=Veykril
...
internal: Properly handle commands in the VSCode client when the server is stopped
2022-10-21 14:05:25 +00:00
Lukas Wirth
1cb46079e4
internal: Properly handle commands in the VSCode client when the server is stopped
2022-10-21 16:00:43 +02:00
bors
69f01fdff5
Auto merge of #13451 - Veykril:lang-config, r=Veykril
...
internal: Properly handle language configuration config changes
2022-10-20 19:15:30 +00:00
Lukas Wirth
a8e0a20ce4
internal: Properly handle language configuration config changes
2022-10-20 21:14:36 +02:00
bors
2481721211
Auto merge of #13447 - Veykril:didsavedoc-block, r=Veykril
...
fix: Fix DidSaveDocument requests blocking the server on startup
Follow up to https://github.com/rust-lang/rust-analyzer/pull/13428
Fixes https://github.com/rust-lang/rust-analyzer/issues/13434
2022-10-20 18:13:09 +00:00
bors
7741e3dc73
Auto merge of #13448 - yotamofek:python-ext-polyfill-workaround, r=Veykril
...
Workaround the python vscode extension's polyfill
Fixes #13442
`String.replaceAll` and `String.replace` behave the same when given a (/g-flagged) Regex, so fix is very simple.
2022-10-20 17:59:14 +00:00
Yotam Ofek
e05df93b8e
Workaround the python vscode extension's polyfill
2022-10-20 17:56:51 +00:00
Lukas Wirth
de195ff97c
fix: Fix DidSaveDocument requests blocking the server on startup
2022-10-20 19:55:04 +02:00
bors
f3cce5feea
Auto merge of #13365 - feniljain:master, r=Veykril
...
feat: add multiple getters mode in `generate_getter`
This commit adds two modes to generate_getter action.
First, the plain old working on single fields.
Second, working on a selected range of fields.
Should partially solve #13246
If this gets approved will create a separate PR for setters version of the same
### Points to help in review:
- `generate_getter_from_record_info` contains code which is mostly taken from assist before refactor
- Same goes for `parse_record_fields`
- There are changes in other assists, as one of the methods in utils named `find_struct_impl` is changed, before it used to accept a single `fn_name`, now it takes a list of function names to check against. All old impls are updated to create a small list to pass their single element.
### Assumptions:
- If any of the fields have an implementation, the action will quit.
2022-10-20 12:07:28 +00:00
feniljain
5bff6c55de
feat: add multiple getters mode in generate_getter
...
This commit adds two modes to generate_getter action.
First, the plain old working on single fields.
Second, working on a selected range of fields.
2022-10-20 16:47:23 +05:30
bors
32614e27fb
Auto merge of #13444 - Veykril:rethrow-err, r=Veykril
...
fix: Don't catch the server activation error
We are are rethrowing and showing errors higher up in the call stack already. This just ate the error hiding the stacktrace unnecessarily.
2022-10-20 09:34:06 +00:00
Lukas Wirth
69b845674c
Don't catch the server activation error
2022-10-20 11:32:02 +02:00
bors
a77ac93b2a
Auto merge of #13128 - Veykril:invocation-strategy, r=Veykril
...
Implement invocation strategy config
Fixes https://github.com/rust-lang/rust-analyzer/issues/10793
This allows to change how we run build scripts (and `checkOnSave`), exposing two configs:
- `once`: run the specified command once in the project root (the working dir of the server)
- `per_workspace`: run the specified command per workspace in the corresponding workspace
This also applies to `checkOnSave` likewise, though `once_in_root` is useless there currently, due to https://github.com/rust-lang/cargo/issues/11007
2022-10-19 21:53:19 +00:00
Lukas Wirth
46732369f4
Remove simplistic interpolation for manifest-path
2022-10-19 23:53:00 +02:00
Lukas Wirth
7db50294a3
{manifest-path} interpolation
2022-10-19 23:21:34 +02:00
Lukas Wirth
5174b65ed8
Use correct invocation strategy config for checkOnSave
2022-10-19 23:21:34 +02:00
Lukas Wirth
4a287d2525
Implement invocation strategy config for checkOnSave
...
Note that due to how cargo works, none of the modes currently work for r-a
2022-10-19 23:21:34 +02:00
Lukas Wirth
7e2c41dbd6
Implement invocation strategy config for build scripts
2022-10-19 23:21:29 +02:00
bors
82ac6f7d48
Auto merge of #13441 - Veykril:sysroot-logging, r=Veykril
...
Add some sysroot logging
2022-10-19 20:27:09 +00:00
Lukas Wirth
653dafa7b1
Add some sysroot logging
2022-10-19 22:26:44 +02:00
bors
339257397d
Auto merge of #13439 - Veykril:simplify, r=Veykril
...
Simplify
2022-10-19 19:18:00 +00:00
Lukas Wirth
9d3e616f82
Simplify
2022-10-19 21:17:11 +02:00
bors
97b357e41b
Auto merge of #13433 - rust-lang:revert-13354-try-stuff, r=Veykril
...
Revert "feat: Diagnose some incorrect usages of the question mark operator"
Reverts rust-lang/rust-analyzer#13354
It seems like we are getting stuck with inference variables here, not just placeholders and errors so there is probably more wrong here that I don't understand. Reverting seems like the best solution right now as I don't have the time to look into this this week.
2022-10-18 12:19:58 +00:00
Lukas Wirth
8047512dca
Revert "feat: Diagnose some incorrect usages of the question mark operator"
2022-10-18 14:18:59 +02:00
bors
4d4c05d32b
Auto merge of #13428 - Veykril:fmt-stuck, r=Veykril
...
fix: Fix formatting requests hanging when r-a is still starting
The reason for that was that we were calculating the crate defmaps of the file we are saving by accident causing us to get stuck waiting on their expensive computation, while we only need the relevant crate id.
Closes https://github.com/rust-lang/rust-analyzer/issues/4054
Closes https://github.com/rust-lang/rust-analyzer/issues/11654
2022-10-17 16:21:32 +00:00
Lukas Wirth
a762baca02
fix: Fix formatting requests hanging when r-a is still starting
...
The reason for that was that we were calculating the crate defmaps
of the file we are saving by accident causing us to get stuck waiting
on their expensive computation, while we only need the relevant crate
id.
2022-10-17 18:21:18 +02:00
bors
106285b5c4
Auto merge of #13427 - Veykril:cancel-check, r=Veykril
...
feat: Make flycheck workdone progress reports cancellable
In clients that support this (like VSCode), the clients will now render a cancel button on the notification message which can be clicked to cancel the flycheck instead.
Closes https://github.com/rust-lang/rust-analyzer/issues/6895
![Code_VbXgP3SbFD](https://user-images.githubusercontent.com/3757771/196205329-2df93451-c143-4d1b-a700-d988edf55efa.gif )
2022-10-17 14:41:57 +00:00
Lukas Wirth
e41023ce46
Make flycheck workdone progress reports cancellable
2022-10-17 16:32:47 +02:00
bors
067c410c45
Auto merge of #13426 - Veykril:client-refactor, r=Veykril
...
Refactor language client handling
Follow up to https://github.com/rust-lang/rust-analyzer/pull/12847 (turns out they fixed parts of the problem)
The PR will attempt to allow us to dispose more resources at will, so that we can implement restarts for the server properly instead of restating the entire extension as well as allowing us to implement a stop command.
Closes https://github.com/rust-lang/rust-analyzer/issues/12936
Closes https://github.com/rust-lang/rust-analyzer/issues/4697
2022-10-17 14:12:01 +00:00
Lukas Wirth
d63c44e650
Cleanup output channels
2022-10-17 16:01:39 +02:00
Lukas Wirth
7b5c943129
Downgrade vscode types dependency
2022-10-17 15:48:36 +02:00
Lukas Wirth
0421756b42
Implement stop and start server commands
2022-10-17 15:45:57 +02:00
Lukas Wirth
d68616a140
Make more things private
2022-10-17 15:05:20 +02:00
Lukas Wirth
8aaafddee8
Properly reload changed configs for server start
2022-10-17 14:53:46 +02:00
Lukas Wirth
6f435977df
Refactor language client handling
2022-10-17 14:21:12 +02:00
bors
f0797929e5
Auto merge of #13302 - Veykril:auto-publish, r=Veykril
...
Don't auto-publish lib crates
I believe this should *just* work? With this cargo-workspaces should not consider them
2022-10-17 10:22:25 +00:00
bors
40cbeb5b3d
Auto merge of #13423 - Veykril:vscode-vars, r=Veykril
...
Substitute some VSCode variables in the VSCode client
cc https://github.com/rust-lang/rust-analyzer/issues/13405
2022-10-17 10:08:12 +00:00
bors
a2e4f783a2
Auto merge of #13399 - DropDemBits:assists-format-args-capture-pt2, r=Veykril
...
Migrate assists to format args captures, part 2
Continuation of #13379
Migrates:
- `generate_constant`
- `generate_default_from_enum_variant`
- `generate_default_from_new`
- `generate_delegate_methods`
- `generate_deref`
- `generate_documentation_template`
- `generate_enum_is_method`
- `generate_enum_projection_method`
- `generate_from_impl_for_enum`
- `generate_function`
- `generate_getter`
- `generate_impl`
- `generate_new`
- `generate_setter`
2022-10-17 09:54:07 +00:00
Lukas Wirth
d5f467aa4a
Substitute some VSCode variables in the VSCode client
2022-10-16 19:45:08 +02:00
bors
0531aab522
Auto merge of #13397 - zyctree:zyctree-patch-2, r=lnicola
...
fix link in syntax.md
2022-10-16 17:40:21 +00:00
zyctree
ea8b62f9b0
update link in syntax.md
2022-10-17 01:39:19 +08:00
zyctree
5df03c2c18
update link in syntax.md
2022-10-16 23:41:32 +08:00