aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #3792bors[bot]2020-03-3118-29/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3792: Rename cargo_watch -> flycheck r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Rename cargo_watch -> flycheckAleksey Kladov2020-03-3118-29/+29
| | | |
* | | | Merge #3791bors[bot]2020-03-311-33/+17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3791: Revert accidental package.json changes r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Revert accidental package.json changesAleksey Kladov2020-03-311-33/+17
|/ / /
* | | Merge #3738bors[bot]2020-03-3111-23/+696
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3738: Implement ra_proc_macro client logic r=matklad a=edwin0cheng This PR add the actual client logic for `ra_proc_macro` crate: 1. Define all necessary rpc serialization data structure, which include `ra_tt` related data and some task messages. Although adding `Serialize` and `Deserialize` trait to ra_tt directly seem to be much easier, we deliberately duplicate the `ra_tt` struct with `#[serde(with = "XXDef")]` for separation of code responsibility. 2. Define a simplified version of lsp base protocol for rpc, which basically copy from lsp-server code base. 3. Implement the actual `IO` for the client side progress spawning and message passing. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Fix rebasedEdwin Cheng2020-03-311-1/+1
| | | |
| * | | Redirect stderr to nullEdwin Cheng2020-03-311-0/+1
| | | |
| * | | Pipe error to stderrEdwin Cheng2020-03-311-2/+5
| | | |
| * | | Refactor a bitEdwin Cheng2020-03-311-11/+9
| | | |
| * | | Use a weak ptr to hold the send end of channelEdwin Cheng2020-03-311-28/+18
| | | |
| * | | Add drop for processEdwin Cheng2020-03-311-2/+6
| | | |
| * | | Unwrap channel send()Edwin Cheng2020-03-311-13/+4
| | | |
| * | | Use jod_threadEdwin Cheng2020-03-313-17/+16
| | | |
| * | | Fix formattingEdwin Cheng2020-03-312-6/+6
| | | |
| * | | Simple cross-process message protocolEdwin Cheng2020-03-313-225/+86
| | | |
| * | | Remove unused structEdwin Cheng2020-03-311-10/+5
| | | |
| * | | Improve shutdown processEdwin Cheng2020-03-312-19/+54
| | | |
| * | | Use matches in is_dylibEdwin Cheng2020-03-311-11/+3
| | | |
| * | | Add back doc string for processEdwin Cheng2020-03-311-0/+2
| | | |
| * | | Fix testEdwin Cheng2020-03-313-5/+3
| | | |
| * | | Implement ra_proc_macro client logicEdwin Cheng2020-03-3111-23/+827
|/ / /
* | | Merge #3790bors[bot]2020-03-3114-121/+135
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3790: Better names for config structs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Better names for config structsAleksey Kladov2020-03-3113-104/+102
| | | |
| * | | WIP: uniformalize external tools configAleksey Kladov2020-03-311-17/+33
| | | |
* | | | Merge #3789bors[bot]2020-03-312-28/+39
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3789: Update node deps r=kjeremy a=kjeremy Silences warnings on install Co-authored-by: kjeremy <[email protected]>
| * | | Update node depskjeremy2020-03-312-28/+39
|/ / /
* | | Merge #3788bors[bot]2020-03-311-14/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3788: Update deps r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | Update depskjeremy2020-03-311-14/+14
| | | |
* | | | Merge #3778bors[bot]2020-03-311-8/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3778: Use more functional programming in ArenaMap::insert r=matklad a=kjeremy I find this more readable and it flattens out the body a little. Others may disagree. Co-authored-by: kjeremy <[email protected]>
| * | | Use resize_withkjeremy2020-03-311-2/+1
| | | |
| * | | Do not call reserve since extend will handle it.kjeremy2020-03-301-3/+0
| | | | | | | | | | | | | | | | | | | | `Take` implements `TrustedLen` so we are guaranteed that only one reserve call will be made.
| * | | Use more functional programming in ArenaMap::insertkjeremy2020-03-301-5/+3
| |/ / | | | | | | | | | I find this more readable and it flattens out the body a little.
* | | Merge #3786bors[bot]2020-03-312-14/+45
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3786: When adding match arm, don't let the floating comma r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | When adding match arm, don't let the floating commaAleksey Kladov2020-03-312-14/+45
| | | |
* | | | Merge #3781bors[bot]2020-03-312-1/+15
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3781: Add crate versions when running cargo -p commands. r=matklad a=o0Ignition0o If someone (unfortunately) creates a project that happens to have the same name as one of its (future) dependencies, there is [a way for them to change the dependency's alias in the Cargo.toml file](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml), to mitigate the name conflict. Unfortunately cargo -p commands don't seem to pick it up, which seems to put rust-analyzer run commands in a tough situation: ``` > Executing task: cargo test --package config --example default -- tests --nocapture < error: There are multiple `config` packages in your project, and the specification `config` is ambiguous. Please re-run this command with `-p <spec>` where `<spec>` is one of the following: config:0.1.0 config:0.9.3 The terminal process terminated with exit code: 101 ``` cargo suggests us to be more specific and refer to a package by its name and version, which this PR achieves. I passed the version as a String because I don't really understand how the ra_db types work, but I would love to switch it to [a fully fledged Version type](https://steveklabnik.github.io/semver/semver/index.html) if you guide me towards that :) Co-authored-by: o0Ignition0o <[email protected]>
| * | | | Add crate versions when running cargo -p commands.o0Ignition0o2020-03-312-1/+15
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Until now cargo commands with the -p flag would pass the package name only. It doesn't play super well with the toml Renaming dependencies feature. This commit specifies the package name and version when a cargo command is run with the -p flag, to avoid ambiguities.
* | | | Merge #3785bors[bot]2020-03-313-1/+32
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3785: Attach doc-comment to declaration if there are newlines in between r=matklad a=ltentrup This commit changes the parser to attach doc-comments to the corresponding declaration in case there are newlines in between the doc-comment and the declaration. Implements the changes proposed in #3757 Co-authored-by: Leander Tentrup <[email protected]>
| * | | Attach doc-comment to declaration if there are newlines in betweenLeander Tentrup2020-03-313-1/+32
|/ / / | | | | | | | | | This commit changes the parser to attach doc-comments to the corresponding declaration in case there are newlines in between the doc-comment and the declaration.
| | |
| \ \
*-. \ \ Merge #3777 #3784bors[bot]2020-03-316-13/+80
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| | * | Ignore createProgress request in testsAleksey Kladov2020-03-312-7/+8
| |/ / |/| | | | | | | | closes #3783
* | | Merge #3775bors[bot]2020-03-301-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3775: Fix typo r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix typoAleksey Kladov2020-03-301-1/+1
| | | |
* | | | Merge #3774bors[bot]2020-03-302-6/+6
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3774: Simplify SemanticTokensBuilder build method r=matklad a=kjeremy This matches the next stable vscode api Co-authored-by: kjeremy <[email protected]>
| * | | Simplify SemanticTokensBuilder build methodkjeremy2020-03-302-6/+6
|/ / / | | | | | | | | | This matches the next stable vscode api
| * | Pass string instread of WorkspaceFolderTim2020-03-313-5/+5
| | |
| * | Remove unnecessary null checkTim2020-03-311-3/+1
| | |
| * | Throw error if no folder is openedTim2020-03-313-4/+9
| | |
| * | Use namespace importTim2020-03-311-19/+11
| | |
| * | Add basic task supportTim2020-03-304-6/+77
|/ / | | | | | | This adds basic support for running `cargo build`, `cargo run`, etc.
* | Merge #3666bors[bot]2020-03-3011-110/+205
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3666: Reload part of the server configuration without restarts r=matklad a=SomeoneToIgnore Partially addresses https://github.com/rust-analyzer/rust-analyzer/issues/2857 Closes #3751 Reloads all server configuration that's not related to VFS without restarts. The VFS-related parameters are not considered, since VFS is planned to be rewritten/replaced in the future and I have a suspicion that with the current code, swapping the VFS and the file watchers on the fly will cause big troubles. I have to store and process the config request id separately, since the `workspace/configuration` response returns `any[]` (https://microsoft.github.io/language-server-protocol/specifications/specification-current/#workspace_configuration), if there's a better way to handle those responses, let me know. Co-authored-by: Kirill Bulatov <[email protected]>