aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_cargo_watch/src/conv.rs
Commit message (Collapse)AuthorAgeFilesLines
* Rework how we send diagnostics to client.Emil Lauridsen2020-02-031-45/+21
| | | | | | | | | | | | The previous way of sending from the thread pool suffered from stale diagnostics due to being canceled before we could clear the old ones. The key change is moving to sending diagnostics from the main loop thread, but doing all the hard work in the thread pool. This should provide the best of both worlds, with little to no of the downsides. This should hopefully fix a lot of issues, but we'll need testing in each individual issue to be sure.
* Remove RWLock from check watcher.Emil Lauridsen2020-01-231-1/+1
| | | | | | | | | | | | | | @matklad mentioned this might be a good idea. So the general idea is that we don't really need the lock, as we can just clone the check watcher state when creating a snapshot. We can then use `Arc::get_mut` to get mutable access to the state from `WorldState` when needed. Running with this it seems to improve responsiveness a bit while cargo is running, but I have no hard numbers to prove it. In any case, a serialization point less is always better when we're trying to be responsive.
* Merge #2681bors[bot]2019-12-291-2/+17
|\ | | | | | | | | | | | | | | 2681: cargo-watcher: Resolve macro call site in more cases r=matklad a=kiljacken This resolves the actual macro call site in a few more cases, f.x. when a macro invokes `compile_error!` (I'm looking at you `ra_hir_def::path::__path`). Co-authored-by: Emil Lauridsen <[email protected]>
| * Add related information with original error siteEmil Lauridsen2019-12-291-1/+16
| |
| * Resolve macro call site in more casesEmil Lauridsen2019-12-291-1/+1
| |
* | Lowercase drive letters when getting paths from cargo checkEmil Lauridsen2019-12-291-2/+66
|/
* Move cargo watch functionality to separate crateEmil Lauridsen2019-12-271-0/+280