diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-03-31 11:41:56 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-03-31 11:41:56 +0100 |
commit | 668980d8657bd358b83f74e2f54f5e228f7393ed (patch) | |
tree | 63a9a0ceee7325ff91f32e14302026a7c7cae17f /crates/ra_ide/src/mock_analysis.rs | |
parent | 6f0d8db529478ce41b429f06708fa600a97c2151 (diff) | |
parent | 3eb45b99223ae6a708d82c52d656c697bc993c3b (diff) | |
parent | 6b2f02fdfd4ad22bc88f6fb2176ff6dd7c66d7e1 (diff) |
Merge #3777 #3784
3777: Add basic task support r=matklad a=Timmmm
This adds basic support for running `cargo build`, `cargo run`, etc.
Fixes #1935
I have tested this and it seems to work. There are two things I'm not sure about:
1. The workspace folder handling seems wrong - just get the first workspace folder? Is this just a TODO item? I don't know if it is right to lift `workspaceFolder` up to `activate()` but I couldn't see another way.
2. If you manually add an entry to `tasks.json` like this:
```
{
"type": "cargo",
"command": "build",
"problemMatcher": [
"$rustc"
],
"group": "build"
}
```
then VSCode somehow magically knows to run `cargo build`. The documentation for `resolveTask` *sounds* like I should have to implement that for it to work:
```
* Resolves a task that has no [`execution`](#Task.execution) set. Tasks are
* often created from information found in the `tasks.json`-file. Such tasks miss
* the information on how to execute them and a task provider must fill in
* the missing information in the `resolveTask`-method.
```
But then it also says this:
```
* This method will not be
* called for tasks returned from the above `provideTasks` method since those
* tasks are always fully resolved. A valid default implementation for the
* `resolveTask` method is to return `undefined`.
```
Either way, it works without implementing it so the only thing I can think is that it is doing some kind of crazy pattern matching of the tasks returned by `provideTasks()` and the ones found in `tasks.json`.
3784: Ignore createProgress request in tests r=matklad a=matklad
closes #3783
bors r+
🤖
Co-authored-by: Tim <[email protected]>
Co-authored-by: Aleksey Kladov <[email protected]>