Commit Graph

473 Commits

Author SHA1 Message Date
bors[bot] d976772716 Merge #3157
3157: Extend analysis-stats a bit r=matklad a=flodiebold

This adds some tools helpful when debugging nondeterminism in analysis-stats:
 - a `--randomize` option that analyses everything in random order
 - a `-vv` option that prints even more detail

Also add a debug log if Chalk fuel is exhausted (which would be a source of
nondeterminism, but didn't happen in my tests).

I found one source of nondeterminism (rust-lang/chalk#331), but there are still
other cases remaining.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-02-15 22:35:44 +00:00
Aleksey Kladov 11dda31941 Remove extra dep 2020-02-15 23:23:44 +01:00
Florian Diebold 3484d727c3 Extend analysis-stats a bit
This adds some tools helpful when debugging nondeterminism in analysis-stats:
 - a `--randomize` option that analyses everything in random order
 - a `-vv` option that prints even more detail

Also add a debug log if Chalk fuel is exhausted (which would be a source of
nondeterminism, but didn't happen in my tests).

I found one source of nondeterminism (rust-lang/chalk#331), but there are still
other cases remaining.
2020-02-15 18:04:01 +01:00
Adam Bratschi-Kaye 6f2cab1368 Add error context to failures in ra_project_model using anyhow crate (#3119)
Add error context to failures in ra_project_model using anyhow crate
2020-02-13 11:10:50 +01:00
bors[bot] 759100fb0d Merge #3062
3062: Implement slice pattern AST > HIR lowering r=jplatte a=jplatte

WIP. The necessary changes for parsing are implemented, but actual inference is not yet. Just wanted to upload what I've got so far so it doesn't get duplicated :)

Will fix #3043

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2020-02-11 21:46:36 +00:00
Jonas Platte a3b104aa6d Implement slice pattern AST > HIR lowering 2020-02-11 22:33:11 +01:00
kjeremy f51e3a357e Update some crates 2020-02-10 10:42:56 -05:00
bors[bot] 895cdb5883 Merge #3034
3034: Remove ImportLocator hack r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-06 16:50:01 +00:00
kjeremy 6fdbf9038f Update indexmap and bstr 2020-02-06 10:44:43 -05:00
Aleksey Kladov a173e31890 Make assists use ImportsLocator directly 2020-02-06 16:40:28 +01:00
bors[bot] ff2d77bde6 Merge #3029
3029: Docs r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-06 14:14:47 +00:00
Aleksey Kladov ec6fb8da7c Add profiling around add_impl_members
This intention is pretty slow for `impl Interator`, because it has a
ton of default methods which need to be substituted.

The proper fix here is to not compute the actual edit until the user
triggers the action, but that's awkward to do in the LSP right now, so
let's just put a profiling code for now.
2020-02-06 14:55:10 +01:00
Aleksey Kladov 939f05f3e3 Move to a crate 2020-02-06 12:43:56 +01:00
kjeremy 793eb51b3b Update aho-corasick (removes unsafety) and serde_json 2020-02-04 10:37:01 -05:00
kjeremy 0772f76ad0 Update regex 2020-02-01 12:19:02 -05:00
Aleksey Kladov 21950adc94 Switch Cargo.lock to the new format 2020-01-30 18:14:20 +01:00
Jeremy Kolb a37ee9c8a4 Update crates 2020-01-30 08:07:42 -05:00
Florian Diebold 96ddf2962c Upgrade Chalk 2020-01-27 21:25:33 +01:00
kjeremy bcef1ddf63 Update insta 2020-01-27 09:52:34 -05:00
Jeremy Kolb b89991daed Update crates 2020-01-26 10:46:45 -05:00
Aleksey Kladov 493a903f22 Bump main thread priority on windows 2020-01-26 14:15:57 +01:00
Aleksey Kladov f44aee27d3 Disable env_logger humantime feature
We rarely care about timings of events, and, when we care, we need
millisecond precision
2020-01-25 11:53:40 +01:00
kjeremy ee7dd4b9ae Update crates 2020-01-22 15:40:35 -05:00
kjeremy c27c480c46 Crates up 2020-01-16 17:34:01 -05:00
bors[bot] c78d269b66 Merge #2837
2837: Accidentally quadratic r=matklad a=matklad

Our syntax highlighting is accdentally quadratic. Current state of the PR fixes it in a pretty crude way, looks like for the proper fix we need to redo how source-analyzer works. 

**NB:** don't be scared by diff stats, that's mostly a test-data file

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-15 19:38:10 +00:00
Kirill Bulatov d51cf7794d itertools::Either -> either::Either 2020-01-15 20:20:20 +02:00
Kirill Bulatov 78a21253b4 Apply the api design suggestions 2020-01-15 20:17:17 +02:00
Aleksey Kladov 5b255b4e6b ⬆️ once_cell 2020-01-15 16:52:28 +01:00
Jeremy Kolb e1688be1bb lsp-types 0.69.0
Stabilizes most proposed features
2020-01-15 08:05:42 -05:00
kjeremy f81232ba4c Update backtrace 2020-01-13 15:08:27 -05:00
Jeremy Kolb 38c3b02f96 Update crates 2020-01-11 20:16:35 -05:00
Florian Diebold ccb75f7c97 Use FxHashMap 2020-01-11 23:33:04 +01:00
Aleksey Kladov 47785b0cd4 ⬆️ rowan 2020-01-09 16:33:02 +01:00
Jeremy Kolb 1b19a8aa5e Implement proposed CallHierarchy feature
See: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.callHierarchy.proposed.ts
2020-01-08 10:15:49 -05:00
Aleksey Kladov ceb8f74901 ⬆️ pico-args 2020-01-08 11:27:31 +01:00
Aleksey Kladov 82ba5eaa19 ⬆️ crates 2020-01-07 16:45:57 +01:00
Jeremy Kolb 051a2d869e Crates up 2020-01-05 22:12:26 -05:00
bors[bot] 823c15215e Merge #2743
2743: Switch ast declaration from ron to a macro r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-03 20:54:42 +00:00
Aleksey Kladov 084bd304f3 Switch ast declaration from ron to a macro 2020-01-03 21:54:10 +01:00
kjeremy f2a7a33c25 Update quick-error 2020-01-03 09:41:22 -05:00
Jeremy Kolb 35d72e40e2 Update dependencies 2020-01-01 17:51:48 -05:00
Aleksey Kladov 54b4b7e317 ⬆️ lsp-server 2019-12-31 11:45:28 +01:00
bors[bot] dc48f89581 Merge #2668
2668: In-server cargo check watching r=matklad a=kiljacken

Opening a draft now so people can follow the progress, and comment if they spot something stupid.

Things that need doing:
- [x] Running cargo check on save
- [x] Pipe through configuration options from client
- [x] Tests for parsing behavior
- [x] Remove existing cargo watch support from VSCode extension
- [x] Progress notification in VSCode extension using LSP 3.15 `$/progress` notification
- [ ] ~~Rework ra-ide diagnostics to support secondary messages~~
- [ ] ~~Make cargo-check watcher use ra-ide diagnostics~~

~~I'd love some input on whether to try to keep the status bar progress thingy for VSCode? It will require some plumbing, and maintaining yet another rust-analyzer specific LSP notification, which I'm not sure we want to.~~

Fixes #1894 

Co-authored-by: Emil Lauridsen <mine809@gmail.com>
2019-12-29 12:57:24 +00:00
Jeremy Kolb 7c855c8271 anyhow and crossbeam-queue 2019-12-27 10:51:30 -05:00
Emil Lauridsen 428a6ff5b8 Move cargo watch functionality to separate crate 2019-12-27 11:10:07 +01:00
Emil Lauridsen c21fbc3e87 Migrate tests from extension to rust 2019-12-25 17:37:40 +01:00
Emil Lauridsen 66e8ef53a0 Initial implementation of cargo check watching 2019-12-25 17:37:40 +01:00
Jeremy Kolb 9c92f205b1 Update lsp-types and rayon 2019-12-23 18:46:04 -05:00
Jeremy Kolb 019fab2261 lsp-types 0.67 2019-12-23 09:33:49 -05:00
bors[bot] ce07a2daa9 Merge #2636
2636: Chalk update and refactoring r=flodiebold a=flodiebold

This updates the Chalk integration to https://github.com/rust-lang/chalk/pull/311, which will presumably get merged soon, and refactors it some more, most notably introducing our own `TypeFamily` instead of reusing `ChalkIr`. It's still mostly the same as `ChalkIr` though, except for using Salsa `InternId`s directly.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-12-23 10:58:06 +00:00