diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-08-30 18:39:19 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-08-30 18:39:19 +0100 |
commit | f90a88630195a1b6b542b5883295d66dd6c59cef (patch) | |
tree | 9bdd597701e1b150492a78b6c85ff856f0fc51bd | |
parent | ffc95759c7b538d8dacc336912b62857d4919cdd (diff) | |
parent | 983de30a567f2cb4d9e28e12702e509ca713da62 (diff) |
Merge #1740
1740: :arrow_up: lsp-server r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
-rw-r--r-- | Cargo.lock | 174 | ||||
-rw-r--r-- | crates/ra_lsp_server/Cargo.toml | 5 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/lib.rs | 1 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main.rs | 74 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop.rs | 29 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/project_model.rs | 4 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/thread_worker.rs (renamed from crates/thread_worker/src/lib.rs) | 0 | ||||
-rw-r--r-- | crates/ra_lsp_server/tests/heavy_tests/support.rs | 57 | ||||
-rw-r--r-- | crates/thread_worker/Cargo.toml | 10 |
9 files changed, 161 insertions, 193 deletions
diff --git a/Cargo.lock b/Cargo.lock index 17e60aa82..9c630f370 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -22,7 +22,7 @@ version = "0.2.13" | |||
22 | source = "registry+https://github.com/rust-lang/crates.io-index" | 22 | source = "registry+https://github.com/rust-lang/crates.io-index" |
23 | dependencies = [ | 23 | dependencies = [ |
24 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 24 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
25 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 25 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
26 | ] | 26 | ] |
27 | 27 | ||
28 | [[package]] | 28 | [[package]] |
@@ -46,7 +46,7 @@ name = "backtrace-sys" | |||
46 | version = "0.1.31" | 46 | version = "0.1.31" |
47 | source = "registry+https://github.com/rust-lang/crates.io-index" | 47 | source = "registry+https://github.com/rust-lang/crates.io-index" |
48 | dependencies = [ | 48 | dependencies = [ |
49 | "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 49 | "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
50 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 50 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
51 | ] | 51 | ] |
52 | 52 | ||
@@ -94,7 +94,7 @@ name = "c2-chacha" | |||
94 | version = "0.2.2" | 94 | version = "0.2.2" |
95 | source = "registry+https://github.com/rust-lang/crates.io-index" | 95 | source = "registry+https://github.com/rust-lang/crates.io-index" |
96 | dependencies = [ | 96 | dependencies = [ |
97 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 97 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
98 | "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", | 98 | "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", |
99 | ] | 99 | ] |
100 | 100 | ||
@@ -111,7 +111,7 @@ dependencies = [ | |||
111 | 111 | ||
112 | [[package]] | 112 | [[package]] |
113 | name = "cc" | 113 | name = "cc" |
114 | version = "1.0.40" | 114 | version = "1.0.41" |
115 | source = "registry+https://github.com/rust-lang/crates.io-index" | 115 | source = "registry+https://github.com/rust-lang/crates.io-index" |
116 | 116 | ||
117 | [[package]] | 117 | [[package]] |
@@ -122,7 +122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
122 | [[package]] | 122 | [[package]] |
123 | name = "chalk-engine" | 123 | name = "chalk-engine" |
124 | version = "0.9.0" | 124 | version = "0.9.0" |
125 | source = "git+https://github.com/rust-lang/chalk.git#201775c47e4cefeb71d7f415c605e09c02e33b22" | 125 | source = "git+https://github.com/rust-lang/chalk.git#c9314e425e49969c33cabcb8fac7da6eac3c5073" |
126 | dependencies = [ | 126 | dependencies = [ |
127 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 127 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
128 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 128 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -132,7 +132,7 @@ dependencies = [ | |||
132 | [[package]] | 132 | [[package]] |
133 | name = "chalk-ir" | 133 | name = "chalk-ir" |
134 | version = "0.1.0" | 134 | version = "0.1.0" |
135 | source = "git+https://github.com/rust-lang/chalk.git#201775c47e4cefeb71d7f415c605e09c02e33b22" | 135 | source = "git+https://github.com/rust-lang/chalk.git#c9314e425e49969c33cabcb8fac7da6eac3c5073" |
136 | dependencies = [ | 136 | dependencies = [ |
137 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 137 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
138 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 138 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
@@ -142,15 +142,15 @@ dependencies = [ | |||
142 | [[package]] | 142 | [[package]] |
143 | name = "chalk-macros" | 143 | name = "chalk-macros" |
144 | version = "0.1.1" | 144 | version = "0.1.1" |
145 | source = "git+https://github.com/rust-lang/chalk.git#201775c47e4cefeb71d7f415c605e09c02e33b22" | 145 | source = "git+https://github.com/rust-lang/chalk.git#c9314e425e49969c33cabcb8fac7da6eac3c5073" |
146 | dependencies = [ | 146 | dependencies = [ |
147 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 147 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
148 | ] | 148 | ] |
149 | 149 | ||
150 | [[package]] | 150 | [[package]] |
151 | name = "chalk-rust-ir" | 151 | name = "chalk-rust-ir" |
152 | version = "0.1.0" | 152 | version = "0.1.0" |
153 | source = "git+https://github.com/rust-lang/chalk.git#201775c47e4cefeb71d7f415c605e09c02e33b22" | 153 | source = "git+https://github.com/rust-lang/chalk.git#c9314e425e49969c33cabcb8fac7da6eac3c5073" |
154 | dependencies = [ | 154 | dependencies = [ |
155 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 155 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
156 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 156 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
@@ -160,14 +160,14 @@ dependencies = [ | |||
160 | [[package]] | 160 | [[package]] |
161 | name = "chalk-solve" | 161 | name = "chalk-solve" |
162 | version = "0.1.0" | 162 | version = "0.1.0" |
163 | source = "git+https://github.com/rust-lang/chalk.git#201775c47e4cefeb71d7f415c605e09c02e33b22" | 163 | source = "git+https://github.com/rust-lang/chalk.git#c9314e425e49969c33cabcb8fac7da6eac3c5073" |
164 | dependencies = [ | 164 | dependencies = [ |
165 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", | 165 | "chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)", |
166 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 166 | "chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
167 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", | 167 | "chalk-macros 0.1.1 (git+https://github.com/rust-lang/chalk.git)", |
168 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", | 168 | "chalk-rust-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)", |
169 | "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", | 169 | "derive-new 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)", |
170 | "ena 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 170 | "ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", |
171 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 171 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
172 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 172 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
173 | "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", | 173 | "petgraph 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -197,13 +197,13 @@ dependencies = [ | |||
197 | 197 | ||
198 | [[package]] | 198 | [[package]] |
199 | name = "clicolors-control" | 199 | name = "clicolors-control" |
200 | version = "1.0.0" | 200 | version = "1.0.1" |
201 | source = "registry+https://github.com/rust-lang/crates.io-index" | 201 | source = "registry+https://github.com/rust-lang/crates.io-index" |
202 | dependencies = [ | 202 | dependencies = [ |
203 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", | 203 | "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", |
204 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 204 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
205 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 205 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
206 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 206 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
207 | ] | 207 | ] |
208 | 208 | ||
209 | [[package]] | 209 | [[package]] |
@@ -219,14 +219,14 @@ name = "console" | |||
219 | version = "0.8.0" | 219 | version = "0.8.0" |
220 | source = "registry+https://github.com/rust-lang/crates.io-index" | 220 | source = "registry+https://github.com/rust-lang/crates.io-index" |
221 | dependencies = [ | 221 | dependencies = [ |
222 | "clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 222 | "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
223 | "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | 223 | "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
224 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 224 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
225 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 225 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
226 | "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 226 | "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
227 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 227 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
228 | "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 228 | "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
229 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 229 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
230 | ] | 230 | ] |
231 | 231 | ||
232 | [[package]] | 232 | [[package]] |
@@ -276,7 +276,7 @@ dependencies = [ | |||
276 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", | 276 | "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)", |
277 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 277 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
278 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", | 278 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", |
279 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 279 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
280 | "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 280 | "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
281 | "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 281 | "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
282 | ] | 282 | ] |
@@ -295,7 +295,7 @@ version = "0.6.6" | |||
295 | source = "registry+https://github.com/rust-lang/crates.io-index" | 295 | source = "registry+https://github.com/rust-lang/crates.io-index" |
296 | dependencies = [ | 296 | dependencies = [ |
297 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 297 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
298 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 298 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
299 | ] | 299 | ] |
300 | 300 | ||
301 | [[package]] | 301 | [[package]] |
@@ -305,7 +305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
305 | dependencies = [ | 305 | dependencies = [ |
306 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 306 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
307 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 307 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
308 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 308 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
309 | ] | 309 | ] |
310 | 310 | ||
311 | [[package]] | 311 | [[package]] |
@@ -330,14 +330,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
330 | 330 | ||
331 | [[package]] | 331 | [[package]] |
332 | name = "ena" | 332 | name = "ena" |
333 | version = "0.10.1" | ||
334 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
335 | dependencies = [ | ||
336 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
337 | ] | ||
338 | |||
339 | [[package]] | ||
340 | name = "ena" | ||
341 | version = "0.13.0" | 333 | version = "0.13.0" |
342 | source = "registry+https://github.com/rust-lang/crates.io-index" | 334 | source = "registry+https://github.com/rust-lang/crates.io-index" |
343 | dependencies = [ | 335 | dependencies = [ |
@@ -346,7 +338,7 @@ dependencies = [ | |||
346 | 338 | ||
347 | [[package]] | 339 | [[package]] |
348 | name = "encode_unicode" | 340 | name = "encode_unicode" |
349 | version = "0.3.5" | 341 | version = "0.3.6" |
350 | source = "registry+https://github.com/rust-lang/crates.io-index" | 342 | source = "registry+https://github.com/rust-lang/crates.io-index" |
351 | 343 | ||
352 | [[package]] | 344 | [[package]] |
@@ -386,7 +378,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
386 | 378 | ||
387 | [[package]] | 379 | [[package]] |
388 | name = "flexi_logger" | 380 | name = "flexi_logger" |
389 | version = "0.14.1" | 381 | version = "0.14.3" |
390 | source = "registry+https://github.com/rust-lang/crates.io-index" | 382 | source = "registry+https://github.com/rust-lang/crates.io-index" |
391 | dependencies = [ | 383 | dependencies = [ |
392 | "chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", | 384 | "chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -457,7 +449,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
457 | 449 | ||
458 | [[package]] | 450 | [[package]] |
459 | name = "getrandom" | 451 | name = "getrandom" |
460 | version = "0.1.10" | 452 | version = "0.1.11" |
461 | source = "registry+https://github.com/rust-lang/crates.io-index" | 453 | source = "registry+https://github.com/rust-lang/crates.io-index" |
462 | dependencies = [ | 454 | dependencies = [ |
463 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 455 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -511,7 +503,7 @@ version = "0.11.0" | |||
511 | source = "registry+https://github.com/rust-lang/crates.io-index" | 503 | source = "registry+https://github.com/rust-lang/crates.io-index" |
512 | dependencies = [ | 504 | dependencies = [ |
513 | "console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 505 | "console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
514 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 506 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
515 | "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 507 | "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
516 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 508 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
517 | "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 509 | "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -542,7 +534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
542 | dependencies = [ | 534 | dependencies = [ |
543 | "console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 535 | "console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
544 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 536 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
545 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 537 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
546 | "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", | 538 | "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", |
547 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 539 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", |
548 | "serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)", | 540 | "serde_yaml 0.8.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -586,7 +578,7 @@ name = "jemalloc-sys" | |||
586 | version = "0.3.2" | 578 | version = "0.3.2" |
587 | source = "registry+https://github.com/rust-lang/crates.io-index" | 579 | source = "registry+https://github.com/rust-lang/crates.io-index" |
588 | dependencies = [ | 580 | dependencies = [ |
589 | "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 581 | "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
590 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 582 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
591 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 583 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
592 | ] | 584 | ] |
@@ -626,7 +618,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
626 | 618 | ||
627 | [[package]] | 619 | [[package]] |
628 | name = "lazy_static" | 620 | name = "lazy_static" |
629 | version = "1.3.0" | 621 | version = "1.4.0" |
630 | source = "registry+https://github.com/rust-lang/crates.io-index" | 622 | source = "registry+https://github.com/rust-lang/crates.io-index" |
631 | 623 | ||
632 | [[package]] | 624 | [[package]] |
@@ -662,7 +654,7 @@ dependencies = [ | |||
662 | 654 | ||
663 | [[package]] | 655 | [[package]] |
664 | name = "lsp-server" | 656 | name = "lsp-server" |
665 | version = "0.1.0" | 657 | version = "0.2.0" |
666 | source = "registry+https://github.com/rust-lang/crates.io-index" | 658 | source = "registry+https://github.com/rust-lang/crates.io-index" |
667 | dependencies = [ | 659 | dependencies = [ |
668 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | 660 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -747,7 +739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
747 | dependencies = [ | 739 | dependencies = [ |
748 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 740 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
749 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 741 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
750 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 742 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
751 | ] | 743 | ] |
752 | 744 | ||
753 | [[package]] | 745 | [[package]] |
@@ -770,7 +762,7 @@ dependencies = [ | |||
770 | "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", | 762 | "mio 0.6.19 (registry+https://github.com/rust-lang/crates.io-index)", |
771 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 763 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
772 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", | 764 | "walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)", |
773 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 765 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
774 | ] | 766 | ] |
775 | 767 | ||
776 | [[package]] | 768 | [[package]] |
@@ -808,7 +800,7 @@ dependencies = [ | |||
808 | 800 | ||
809 | [[package]] | 801 | [[package]] |
810 | name = "once_cell" | 802 | name = "once_cell" |
811 | version = "0.2.6" | 803 | version = "0.2.7" |
812 | source = "registry+https://github.com/rust-lang/crates.io-index" | 804 | source = "registry+https://github.com/rust-lang/crates.io-index" |
813 | dependencies = [ | 805 | dependencies = [ |
814 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 806 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -840,7 +832,7 @@ dependencies = [ | |||
840 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 832 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
841 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | 833 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", |
842 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 834 | "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
843 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 835 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
844 | ] | 836 | ] |
845 | 837 | ||
846 | [[package]] | 838 | [[package]] |
@@ -860,7 +852,7 @@ dependencies = [ | |||
860 | "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", | 852 | "proc-macro-hack 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)", |
861 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 853 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
862 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 854 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
863 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 855 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
864 | ] | 856 | ] |
865 | 857 | ||
866 | [[package]] | 858 | [[package]] |
@@ -889,7 +881,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
889 | dependencies = [ | 881 | dependencies = [ |
890 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 882 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
891 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 883 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
892 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 884 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
893 | ] | 885 | ] |
894 | 886 | ||
895 | [[package]] | 887 | [[package]] |
@@ -916,7 +908,7 @@ dependencies = [ | |||
916 | "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 908 | "bit-set 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
917 | "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 909 | "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
918 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 910 | "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
919 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 911 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
920 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 912 | "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
921 | "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 913 | "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
922 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", | 914 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -958,7 +950,7 @@ dependencies = [ | |||
958 | "format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 950 | "format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
959 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 951 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
960 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 952 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
961 | "once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 953 | "once_cell 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
962 | "ra_db 0.1.0", | 954 | "ra_db 0.1.0", |
963 | "ra_fmt 0.1.0", | 955 | "ra_fmt 0.1.0", |
964 | "ra_hir 0.1.0", | 956 | "ra_hir 0.1.0", |
@@ -987,7 +979,7 @@ name = "ra_cli" | |||
987 | version = "0.1.0" | 979 | version = "0.1.0" |
988 | dependencies = [ | 980 | dependencies = [ |
989 | "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", | 981 | "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", |
990 | "flexi_logger 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", | 982 | "flexi_logger 0.14.3 (registry+https://github.com/rust-lang/crates.io-index)", |
991 | "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 983 | "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
992 | "ra_batch 0.1.0", | 984 | "ra_batch 0.1.0", |
993 | "ra_db 0.1.0", | 985 | "ra_db 0.1.0", |
@@ -1028,7 +1020,7 @@ dependencies = [ | |||
1028 | "insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1020 | "insta 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1029 | "lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1021 | "lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1030 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1022 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1031 | "once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1023 | "once_cell 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1032 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1024 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1033 | "ra_arena 0.1.0", | 1025 | "ra_arena 0.1.0", |
1034 | "ra_db 0.1.0", | 1026 | "ra_db 0.1.0", |
@@ -1073,9 +1065,10 @@ name = "ra_lsp_server" | |||
1073 | version = "0.1.0" | 1065 | version = "0.1.0" |
1074 | dependencies = [ | 1066 | dependencies = [ |
1075 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1067 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1076 | "flexi_logger 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1068 | "flexi_logger 0.14.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1069 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1077 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1070 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1078 | "lsp-server 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1071 | "lsp-server 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1079 | "lsp-types 0.60.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1072 | "lsp-types 0.60.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1080 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1073 | "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1081 | "ra_ide_api 0.1.0", | 1074 | "ra_ide_api 0.1.0", |
@@ -1091,7 +1084,6 @@ dependencies = [ | |||
1091 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 1084 | "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", |
1092 | "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1085 | "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1093 | "test_utils 0.1.0", | 1086 | "test_utils 0.1.0", |
1094 | "thread_worker 0.1.0", | ||
1095 | "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1087 | "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1096 | ] | 1088 | ] |
1097 | 1089 | ||
@@ -1123,7 +1115,7 @@ dependencies = [ | |||
1123 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1115 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1124 | "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1116 | "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1125 | "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1117 | "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1126 | "once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1118 | "once_cell 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1127 | ] | 1119 | ] |
1128 | 1120 | ||
1129 | [[package]] | 1121 | [[package]] |
@@ -1228,7 +1220,7 @@ dependencies = [ | |||
1228 | "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1220 | "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1229 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1221 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1230 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1222 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1231 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1223 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1232 | ] | 1224 | ] |
1233 | 1225 | ||
1234 | [[package]] | 1226 | [[package]] |
@@ -1236,10 +1228,10 @@ name = "rand" | |||
1236 | version = "0.7.0" | 1228 | version = "0.7.0" |
1237 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1229 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1238 | dependencies = [ | 1230 | dependencies = [ |
1239 | "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1231 | "getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1240 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1232 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
1241 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1233 | "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1242 | "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1234 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1243 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1235 | "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1244 | "rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1236 | "rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1245 | ] | 1237 | ] |
@@ -1259,7 +1251,7 @@ version = "0.2.1" | |||
1259 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1251 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1260 | dependencies = [ | 1252 | dependencies = [ |
1261 | "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1253 | "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1262 | "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1254 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1263 | ] | 1255 | ] |
1264 | 1256 | ||
1265 | [[package]] | 1257 | [[package]] |
@@ -1277,10 +1269,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1277 | 1269 | ||
1278 | [[package]] | 1270 | [[package]] |
1279 | name = "rand_core" | 1271 | name = "rand_core" |
1280 | version = "0.5.0" | 1272 | version = "0.5.1" |
1281 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1282 | dependencies = [ | 1274 | dependencies = [ |
1283 | "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1275 | "getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1284 | ] | 1276 | ] |
1285 | 1277 | ||
1286 | [[package]] | 1278 | [[package]] |
@@ -1296,7 +1288,7 @@ name = "rand_hc" | |||
1296 | version = "0.2.0" | 1288 | version = "0.2.0" |
1297 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1289 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1298 | dependencies = [ | 1290 | dependencies = [ |
1299 | "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1291 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1300 | ] | 1292 | ] |
1301 | 1293 | ||
1302 | [[package]] | 1294 | [[package]] |
@@ -1314,7 +1306,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1314 | dependencies = [ | 1306 | dependencies = [ |
1315 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1307 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
1316 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1308 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1317 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1309 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1318 | ] | 1310 | ] |
1319 | 1311 | ||
1320 | [[package]] | 1312 | [[package]] |
@@ -1327,7 +1319,7 @@ dependencies = [ | |||
1327 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1319 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
1328 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1320 | "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1329 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1321 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1330 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1322 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1331 | ] | 1323 | ] |
1332 | 1324 | ||
1333 | [[package]] | 1325 | [[package]] |
@@ -1345,7 +1337,7 @@ version = "0.2.0" | |||
1345 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1346 | dependencies = [ | 1338 | dependencies = [ |
1347 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1339 | "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1348 | "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1340 | "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1349 | ] | 1341 | ] |
1350 | 1342 | ||
1351 | [[package]] | 1343 | [[package]] |
@@ -1374,7 +1366,7 @@ dependencies = [ | |||
1374 | "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1366 | "crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1375 | "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1367 | "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1376 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1368 | "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1377 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1369 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1378 | "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1370 | "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1379 | ] | 1371 | ] |
1380 | 1372 | ||
@@ -1417,7 +1409,7 @@ name = "remove_dir_all" | |||
1417 | version = "0.5.2" | 1409 | version = "0.5.2" |
1418 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1419 | dependencies = [ | 1411 | dependencies = [ |
1420 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1412 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1421 | ] | 1413 | ] |
1422 | 1414 | ||
1423 | [[package]] | 1415 | [[package]] |
@@ -1490,7 +1482,7 @@ dependencies = [ | |||
1490 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1482 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1491 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1483 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1492 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1484 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1493 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1485 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1494 | ] | 1486 | ] |
1495 | 1487 | ||
1496 | [[package]] | 1488 | [[package]] |
@@ -1535,7 +1527,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1535 | dependencies = [ | 1527 | dependencies = [ |
1536 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1528 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1537 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1529 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1538 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1530 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1539 | ] | 1531 | ] |
1540 | 1532 | ||
1541 | [[package]] | 1533 | [[package]] |
@@ -1555,7 +1547,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1555 | dependencies = [ | 1547 | dependencies = [ |
1556 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1548 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1557 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1549 | "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1558 | "syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1550 | "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1559 | ] | 1551 | ] |
1560 | 1552 | ||
1561 | [[package]] | 1553 | [[package]] |
@@ -1592,10 +1584,10 @@ name = "stacker" | |||
1592 | version = "0.1.5" | 1584 | version = "0.1.5" |
1593 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1585 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1594 | dependencies = [ | 1586 | dependencies = [ |
1595 | "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", | 1587 | "cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", |
1596 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1588 | "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
1597 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1589 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
1598 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1590 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1599 | ] | 1591 | ] |
1600 | 1592 | ||
1601 | [[package]] | 1593 | [[package]] |
@@ -1615,7 +1607,7 @@ dependencies = [ | |||
1615 | 1607 | ||
1616 | [[package]] | 1608 | [[package]] |
1617 | name = "syn" | 1609 | name = "syn" |
1618 | version = "1.0.3" | 1610 | version = "1.0.5" |
1619 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1611 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1620 | dependencies = [ | 1612 | dependencies = [ |
1621 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1613 | "proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1644,7 +1636,7 @@ dependencies = [ | |||
1644 | "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1636 | "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1645 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 1637 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
1646 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1638 | "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1647 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1639 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1648 | ] | 1640 | ] |
1649 | 1641 | ||
1650 | [[package]] | 1642 | [[package]] |
@@ -1682,16 +1674,7 @@ name = "thread_local" | |||
1682 | version = "0.3.6" | 1674 | version = "0.3.6" |
1683 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1675 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1684 | dependencies = [ | 1676 | dependencies = [ |
1685 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1677 | "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1686 | ] | ||
1687 | |||
1688 | [[package]] | ||
1689 | name = "thread_worker" | ||
1690 | version = "0.1.0" | ||
1691 | dependencies = [ | ||
1692 | "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1693 | "jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1694 | "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", | ||
1695 | ] | 1678 | ] |
1696 | 1679 | ||
1697 | [[package]] | 1680 | [[package]] |
@@ -1709,7 +1692,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1709 | dependencies = [ | 1692 | dependencies = [ |
1710 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", | 1693 | "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", |
1711 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", | 1694 | "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)", |
1712 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1695 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1713 | ] | 1696 | ] |
1714 | 1697 | ||
1715 | [[package]] | 1698 | [[package]] |
@@ -1787,7 +1770,7 @@ version = "2.2.9" | |||
1787 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1770 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1788 | dependencies = [ | 1771 | dependencies = [ |
1789 | "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1772 | "same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1790 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1773 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1791 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1774 | "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1792 | ] | 1775 | ] |
1793 | 1776 | ||
@@ -1803,7 +1786,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1803 | 1786 | ||
1804 | [[package]] | 1787 | [[package]] |
1805 | name = "winapi" | 1788 | name = "winapi" |
1806 | version = "0.3.7" | 1789 | version = "0.3.8" |
1807 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1790 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1808 | dependencies = [ | 1791 | dependencies = [ |
1809 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1792 | "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1825,7 +1808,7 @@ name = "winapi-util" | |||
1825 | version = "0.1.2" | 1808 | version = "0.1.2" |
1826 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1809 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1827 | dependencies = [ | 1810 | dependencies = [ |
1828 | "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1811 | "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1829 | ] | 1812 | ] |
1830 | 1813 | ||
1831 | [[package]] | 1814 | [[package]] |
@@ -1870,7 +1853,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1870 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" | 1853 | "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" |
1871 | "checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" | 1854 | "checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" |
1872 | "checksum cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426" | 1855 | "checksum cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426" |
1873 | "checksum cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "b548a4ee81fccb95919d4e22cfea83c7693ebfd78f0495493178db20b3139da7" | 1856 | "checksum cc 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "8dae9c4b8fedcae85592ba623c4fd08cfdab3e3b72d6df780c6ead964a69bfff" |
1874 | "checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" | 1857 | "checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" |
1875 | "checksum chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" | 1858 | "checksum chalk-engine 0.9.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" |
1876 | "checksum chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" | 1859 | "checksum chalk-ir 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" |
@@ -1879,7 +1862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1879 | "checksum chalk-solve 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" | 1862 | "checksum chalk-solve 0.1.0 (git+https://github.com/rust-lang/chalk.git)" = "<none>" |
1880 | "checksum chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "77d81f58b7301084de3b958691458a53c3f7e0b1d702f77e550b6a88e3a88abe" | 1863 | "checksum chrono 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "77d81f58b7301084de3b958691458a53c3f7e0b1d702f77e550b6a88e3a88abe" |
1881 | "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" | 1864 | "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" |
1882 | "checksum clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "73abfd4c73d003a674ce5d2933fca6ce6c42480ea84a5ffe0a2dc39ed56300f9" | 1865 | "checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e" |
1883 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" | 1866 | "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" |
1884 | "checksum console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b147390a412132d75d10dd3b7b175a69cf5fd95032f7503c7091b8831ba10242" | 1867 | "checksum console 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b147390a412132d75d10dd3b7b175a69cf5fd95032f7503c7091b8831ba10242" |
1885 | "checksum crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2d818a4990769aac0c7ff1360e233ef3a41adcb009ebb2036bf6915eb0f6b23c" | 1868 | "checksum crossbeam 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2d818a4990769aac0c7ff1360e233ef3a41adcb009ebb2036bf6915eb0f6b23c" |
@@ -1894,14 +1877,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1894 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" | 1877 | "checksum drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "69b26e475fd29098530e709294e94e661974c851aed42512793f120fed4e199f" |
1895 | "checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" | 1878 | "checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e" |
1896 | "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" | 1879 | "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" |
1897 | "checksum ena 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25b4e5febb25f08c49f1b07dc33a182729a6b21edfb562b5aef95f78e0dbe5bb" | ||
1898 | "checksum ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc01d68e08ca384955a3aeba9217102ca1aa85b6e168639bf27739f1d749d87" | 1880 | "checksum ena 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3dc01d68e08ca384955a3aeba9217102ca1aa85b6e168639bf27739f1d749d87" |
1899 | "checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd" | 1881 | "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" |
1900 | "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" | 1882 | "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" |
1901 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" | 1883 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" |
1902 | "checksum filetime 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2f8c63033fcba1f51ef744505b3cad42510432b904c062afa67ad7ece008429d" | 1884 | "checksum filetime 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2f8c63033fcba1f51ef744505b3cad42510432b904c062afa67ad7ece008429d" |
1903 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" | 1885 | "checksum fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33" |
1904 | "checksum flexi_logger 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2be2727ae1f60711d1991788605245e70cc500bd1d92edb909af160634e1a869" | 1886 | "checksum flexi_logger 0.14.3 (registry+https://github.com/rust-lang/crates.io-index)" = "66473c1b6a0d2a72f6ed983d33021a4c744a1d179e6f4265867b7d0a9dd679c5" |
1905 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" | 1887 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" |
1906 | "checksum format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f7aea5a5909a74969507051a3b17adc84737e31a5f910559892aedce026f4d53" | 1888 | "checksum format-buf 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f7aea5a5909a74969507051a3b17adc84737e31a5f910559892aedce026f4d53" |
1907 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" | 1889 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" |
@@ -1911,7 +1893,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1911 | "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" | 1893 | "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" |
1912 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" | 1894 | "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" |
1913 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" | 1895 | "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" |
1914 | "checksum getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6171a6cc63fbabbe27c2b5ee268e8b7fe5dc1eb0dd2dfad537c1dfed6f69117e" | 1896 | "checksum getrandom 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "fc344b02d3868feb131e8b5fe2b9b0a1cc42942679af493061fc13b853243872" |
1915 | "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" | 1897 | "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" |
1916 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" | 1898 | "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" |
1917 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" | 1899 | "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" |
@@ -1931,13 +1913,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1931 | "checksum join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc7a5290e8c2606ce2be49f456d50f69173cb96d1541e4f66e34ac8b331a98f" | 1913 | "checksum join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4dc7a5290e8c2606ce2be49f456d50f69173cb96d1541e4f66e34ac8b331a98f" |
1932 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | 1914 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" |
1933 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" | 1915 | "checksum lalrpop-intern 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cc4fd87be4a815fd373e02773983940f0d75fb26fde8c098e9e45f7af03154c0" |
1934 | "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" | 1916 | "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
1935 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" | 1917 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" |
1936 | "checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" | 1918 | "checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" |
1937 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" | 1919 | "checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83" |
1938 | "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" | 1920 | "checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc" |
1939 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" | 1921 | "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" |
1940 | "checksum lsp-server 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "47632ec528046c1a39f14448f1ee7d66d4b7b83e1771590b62e6c08665dea053" | 1922 | "checksum lsp-server 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "148cfb1c0b3295c23d9fb4a20fd1b242f5e6f46c525fdcc7f5c0a65710362012" |
1941 | "checksum lsp-types 0.60.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe3edefcd66dde1f7f1df706f46520a3c93adc5ca4bc5747da6621195e894efd" | 1923 | "checksum lsp-types 0.60.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fe3edefcd66dde1f7f1df706f46520a3c93adc5ca4bc5747da6621195e894efd" |
1942 | "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" | 1924 | "checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" |
1943 | "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" | 1925 | "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e" |
@@ -1952,7 +1934,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1952 | "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" | 1934 | "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" |
1953 | "checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" | 1935 | "checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273" |
1954 | "checksum number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee" | 1936 | "checksum number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dbf9993e59c894e3c08aa1c2712914e9e6bf1fcbfc6bef283e2183df345a4fee" |
1955 | "checksum once_cell 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1824583b0e4dc0c1716eea4fb51a9ca2634943f0b07fd929e79af6aeb5a513cc" | 1937 | "checksum once_cell 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d1a13503127ae8c93c0e2c817d74895b0af4df9132ec9be3ea42dd1656cd6e9" |
1956 | "checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" | 1938 | "checksum ordermap 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "a86ed3f5f244b372d6b1a00b72ef7f8876d0bc6a78a4c9985c53614041512063" |
1957 | "checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" | 1939 | "checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" |
1958 | "checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" | 1940 | "checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" |
@@ -1976,7 +1958,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1976 | "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" | 1958 | "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" |
1977 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" | 1959 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" |
1978 | "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" | 1960 | "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" |
1979 | "checksum rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca" | 1961 | "checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" |
1980 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" | 1962 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" |
1981 | "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" | 1963 | "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" |
1982 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" | 1964 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" |
@@ -2016,7 +1998,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
2016 | "checksum stacker 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fb79482f57cf598af52094ec4cc3b3c42499d3ce5bd426f2ac41515b7e57404b" | 1998 | "checksum stacker 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fb79482f57cf598af52094ec4cc3b3c42499d3ce5bd426f2ac41515b7e57404b" |
2017 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" | 1999 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" |
2018 | "checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" | 2000 | "checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" |
2019 | "checksum syn 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "158521e6f544e7e3dcfc370ac180794aa38cb34a1b1e07609376d4adcf429b93" | 2001 | "checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf" |
2020 | "checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" | 2002 | "checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f" |
2021 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" | 2003 | "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" |
2022 | "checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625" | 2004 | "checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625" |
@@ -2038,7 +2020,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
2038 | "checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" | 2020 | "checksum walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9658c94fa8b940eab2250bd5a457f9c48b748420d71293b165c8cdbe2f55f71e" |
2039 | "checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7" | 2021 | "checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7" |
2040 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" | 2022 | "checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" |
2041 | "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" | 2023 | "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" |
2042 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" | 2024 | "checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" |
2043 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | 2025 | "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
2044 | "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" | 2026 | "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" |
diff --git a/crates/ra_lsp_server/Cargo.toml b/crates/ra_lsp_server/Cargo.toml index 084a20cd9..eb4812633 100644 --- a/crates/ra_lsp_server/Cargo.toml +++ b/crates/ra_lsp_server/Cargo.toml | |||
@@ -15,13 +15,12 @@ log = "0.4.3" | |||
15 | lsp-types = { version = "0.60.0", features = ["proposed"] } | 15 | lsp-types = { version = "0.60.0", features = ["proposed"] } |
16 | rustc-hash = "1.0" | 16 | rustc-hash = "1.0" |
17 | parking_lot = "0.9.0" | 17 | parking_lot = "0.9.0" |
18 | 18 | jod-thread = "0.1.0" | |
19 | ra_vfs = "0.3.0" | 19 | ra_vfs = "0.3.0" |
20 | thread_worker = { path = "../thread_worker" } | ||
21 | ra_syntax = { path = "../ra_syntax" } | 20 | ra_syntax = { path = "../ra_syntax" } |
22 | ra_text_edit = { path = "../ra_text_edit" } | 21 | ra_text_edit = { path = "../ra_text_edit" } |
23 | ra_ide_api = { path = "../ra_ide_api" } | 22 | ra_ide_api = { path = "../ra_ide_api" } |
24 | lsp-server = "0.1.0" | 23 | lsp-server = "0.2.0" |
25 | ra_project_model = { path = "../ra_project_model" } | 24 | ra_project_model = { path = "../ra_project_model" } |
26 | ra_prof = { path = "../ra_prof" } | 25 | ra_prof = { path = "../ra_prof" } |
27 | ra_vfs_glob = { path = "../ra_vfs_glob" } | 26 | ra_vfs_glob = { path = "../ra_vfs_glob" } |
diff --git a/crates/ra_lsp_server/src/lib.rs b/crates/ra_lsp_server/src/lib.rs index 2c5d7c72d..69a577b3e 100644 --- a/crates/ra_lsp_server/src/lib.rs +++ b/crates/ra_lsp_server/src/lib.rs | |||
@@ -8,6 +8,7 @@ mod project_model; | |||
8 | pub mod req; | 8 | pub mod req; |
9 | pub mod config; | 9 | pub mod config; |
10 | mod world; | 10 | mod world; |
11 | mod thread_worker; | ||
11 | 12 | ||
12 | pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error + Send + Sync>>; | 13 | pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error + Send + Sync>>; |
13 | pub use crate::{ | 14 | pub use crate::{ |
diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index 1debe7660..88504bb89 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs | |||
@@ -1,5 +1,5 @@ | |||
1 | use flexi_logger::{Duplicate, Logger}; | 1 | use flexi_logger::{Duplicate, Logger}; |
2 | use lsp_server::{run_server, stdio_transport, LspServerError}; | 2 | use lsp_server::Connection; |
3 | 3 | ||
4 | use ra_lsp_server::{show_message, Result, ServerConfig}; | 4 | use ra_lsp_server::{show_message, Result, ServerConfig}; |
5 | use ra_prof; | 5 | use ra_prof; |
@@ -29,46 +29,46 @@ fn main() -> Result<()> { | |||
29 | } | 29 | } |
30 | 30 | ||
31 | fn main_inner() -> Result<()> { | 31 | fn main_inner() -> Result<()> { |
32 | let (sender, receiver, io_threads) = stdio_transport(); | ||
33 | let cwd = std::env::current_dir()?; | 32 | let cwd = std::env::current_dir()?; |
34 | let caps = serde_json::to_value(ra_lsp_server::server_capabilities()).unwrap(); | 33 | let (connection, io_threads) = Connection::stdio(); |
35 | run_server(caps, sender, receiver, |params, s, r| { | 34 | let server_capabilities = serde_json::to_value(ra_lsp_server::server_capabilities()).unwrap(); |
36 | let params: lsp_types::InitializeParams = serde_json::from_value(params)?; | ||
37 | let root = params.root_uri.and_then(|it| it.to_file_path().ok()).unwrap_or(cwd); | ||
38 | 35 | ||
39 | let workspace_roots = params | 36 | let initialize_params = connection.initialize(server_capabilities)?; |
40 | .workspace_folders | 37 | let initialize_params: lsp_types::InitializeParams = serde_json::from_value(initialize_params)?; |
41 | .map(|workspaces| { | ||
42 | workspaces | ||
43 | .into_iter() | ||
44 | .filter_map(|it| it.uri.to_file_path().ok()) | ||
45 | .collect::<Vec<_>>() | ||
46 | }) | ||
47 | .filter(|workspaces| !workspaces.is_empty()) | ||
48 | .unwrap_or_else(|| vec![root]); | ||
49 | 38 | ||
50 | let server_config: ServerConfig = params | 39 | let root = initialize_params.root_uri.and_then(|it| it.to_file_path().ok()).unwrap_or(cwd); |
51 | .initialization_options | 40 | |
52 | .and_then(|v| { | 41 | let workspace_roots = initialize_params |
53 | serde_json::from_value(v) | 42 | .workspace_folders |
54 | .map_err(|e| { | 43 | .map(|workspaces| { |
55 | log::error!("failed to deserialize config: {}", e); | 44 | workspaces.into_iter().filter_map(|it| it.uri.to_file_path().ok()).collect::<Vec<_>>() |
56 | show_message( | 45 | }) |
57 | lsp_types::MessageType::Error, | 46 | .filter(|workspaces| !workspaces.is_empty()) |
58 | format!("failed to deserialize config: {}", e), | 47 | .unwrap_or_else(|| vec![root]); |
59 | s, | 48 | |
60 | ); | 49 | let server_config: ServerConfig = initialize_params |
61 | }) | 50 | .initialization_options |
62 | .ok() | 51 | .and_then(|v| { |
63 | }) | 52 | serde_json::from_value(v) |
64 | .unwrap_or_default(); | 53 | .map_err(|e| { |
54 | log::error!("failed to deserialize config: {}", e); | ||
55 | show_message( | ||
56 | lsp_types::MessageType::Error, | ||
57 | format!("failed to deserialize config: {}", e), | ||
58 | &connection.sender, | ||
59 | ); | ||
60 | }) | ||
61 | .ok() | ||
62 | }) | ||
63 | .unwrap_or_default(); | ||
64 | |||
65 | ra_lsp_server::main_loop( | ||
66 | workspace_roots, | ||
67 | initialize_params.capabilities, | ||
68 | server_config, | ||
69 | &connection, | ||
70 | )?; | ||
65 | 71 | ||
66 | ra_lsp_server::main_loop(workspace_roots, params.capabilities, server_config, r, s) | ||
67 | }) | ||
68 | .map_err(|err| match err { | ||
69 | LspServerError::ProtocolError(err) => err.into(), | ||
70 | LspServerError::ServerError(err) => err, | ||
71 | })?; | ||
72 | log::info!("shutting down IO..."); | 72 | log::info!("shutting down IO..."); |
73 | io_threads.join()?; | 73 | io_threads.join()?; |
74 | log::info!("... IO is down"); | 74 | log::info!("... IO is down"); |
diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index fb357b36b..42ebb5cdf 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs | |||
@@ -5,7 +5,7 @@ pub(crate) mod pending_requests; | |||
5 | use std::{error::Error, fmt, path::PathBuf, sync::Arc, time::Instant}; | 5 | use std::{error::Error, fmt, path::PathBuf, sync::Arc, time::Instant}; |
6 | 6 | ||
7 | use crossbeam_channel::{select, unbounded, Receiver, RecvError, Sender}; | 7 | use crossbeam_channel::{select, unbounded, Receiver, RecvError, Sender}; |
8 | use lsp_server::{handle_shutdown, ErrorCode, Message, Notification, Request, RequestId, Response}; | 8 | use lsp_server::{Connection, ErrorCode, Message, Notification, Request, RequestId, Response}; |
9 | use lsp_types::{ClientCapabilities, NumberOrString}; | 9 | use lsp_types::{ClientCapabilities, NumberOrString}; |
10 | use ra_ide_api::{Canceled, FeatureFlags, FileId, LibraryData}; | 10 | use ra_ide_api::{Canceled, FeatureFlags, FileId, LibraryData}; |
11 | use ra_prof::profile; | 11 | use ra_prof::profile; |
@@ -51,8 +51,7 @@ pub fn main_loop( | |||
51 | ws_roots: Vec<PathBuf>, | 51 | ws_roots: Vec<PathBuf>, |
52 | client_caps: ClientCapabilities, | 52 | client_caps: ClientCapabilities, |
53 | config: ServerConfig, | 53 | config: ServerConfig, |
54 | msg_receiver: &Receiver<Message>, | 54 | connection: &Connection, |
55 | msg_sender: &Sender<Message>, | ||
56 | ) -> Result<()> { | 55 | ) -> Result<()> { |
57 | log::info!("server_config: {:#?}", config); | 56 | log::info!("server_config: {:#?}", config); |
58 | // FIXME: support dynamic workspace loading. | 57 | // FIXME: support dynamic workspace loading. |
@@ -69,7 +68,7 @@ pub fn main_loop( | |||
69 | show_message( | 68 | show_message( |
70 | req::MessageType::Error, | 69 | req::MessageType::Error, |
71 | format!("rust-analyzer failed to load workspace: {}", e), | 70 | format!("rust-analyzer failed to load workspace: {}", e), |
72 | msg_sender, | 71 | &connection.sender, |
73 | ); | 72 | ); |
74 | } | 73 | } |
75 | } | 74 | } |
@@ -89,7 +88,7 @@ pub fn main_loop( | |||
89 | show_message( | 88 | show_message( |
90 | req::MessageType::Error, | 89 | req::MessageType::Error, |
91 | format!("unknown feature flag: {:?}", flag), | 90 | format!("unknown feature flag: {:?}", flag), |
92 | msg_sender, | 91 | &connection.sender, |
93 | ); | 92 | ); |
94 | } | 93 | } |
95 | } | 94 | } |
@@ -119,8 +118,7 @@ pub fn main_loop( | |||
119 | log::info!("server initialized, serving requests"); | 118 | log::info!("server initialized, serving requests"); |
120 | let main_res = main_loop_inner( | 119 | let main_res = main_loop_inner( |
121 | &pool, | 120 | &pool, |
122 | msg_sender, | 121 | connection, |
123 | msg_receiver, | ||
124 | task_sender, | 122 | task_sender, |
125 | task_receiver.clone(), | 123 | task_receiver.clone(), |
126 | &mut state, | 124 | &mut state, |
@@ -130,7 +128,7 @@ pub fn main_loop( | |||
130 | log::info!("waiting for tasks to finish..."); | 128 | log::info!("waiting for tasks to finish..."); |
131 | task_receiver | 129 | task_receiver |
132 | .into_iter() | 130 | .into_iter() |
133 | .for_each(|task| on_task(task, msg_sender, &mut pending_requests, &mut state)); | 131 | .for_each(|task| on_task(task, &connection.sender, &mut pending_requests, &mut state)); |
134 | log::info!("...tasks have finished"); | 132 | log::info!("...tasks have finished"); |
135 | log::info!("joining threadpool..."); | 133 | log::info!("joining threadpool..."); |
136 | drop(pool); | 134 | drop(pool); |
@@ -196,8 +194,7 @@ impl fmt::Debug for Event { | |||
196 | 194 | ||
197 | fn main_loop_inner( | 195 | fn main_loop_inner( |
198 | pool: &ThreadPool, | 196 | pool: &ThreadPool, |
199 | msg_sender: &Sender<Message>, | 197 | connection: &Connection, |
200 | msg_receiver: &Receiver<Message>, | ||
201 | task_sender: Sender<Task>, | 198 | task_sender: Sender<Task>, |
202 | task_receiver: Receiver<Task>, | 199 | task_receiver: Receiver<Task>, |
203 | state: &mut WorldState, | 200 | state: &mut WorldState, |
@@ -214,7 +211,7 @@ fn main_loop_inner( | |||
214 | loop { | 211 | loop { |
215 | log::trace!("selecting"); | 212 | log::trace!("selecting"); |
216 | let event = select! { | 213 | let event = select! { |
217 | recv(msg_receiver) -> msg => match msg { | 214 | recv(&connection.receiver) -> msg => match msg { |
218 | Ok(msg) => Event::Msg(msg), | 215 | Ok(msg) => Event::Msg(msg), |
219 | Err(RecvError) => Err("client exited without shutdown")?, | 216 | Err(RecvError) => Err("client exited without shutdown")?, |
220 | }, | 217 | }, |
@@ -238,7 +235,7 @@ fn main_loop_inner( | |||
238 | let mut state_changed = false; | 235 | let mut state_changed = false; |
239 | match event { | 236 | match event { |
240 | Event::Task(task) => { | 237 | Event::Task(task) => { |
241 | on_task(task, msg_sender, pending_requests, state); | 238 | on_task(task, &connection.sender, pending_requests, state); |
242 | state.maybe_collect_garbage(); | 239 | state.maybe_collect_garbage(); |
243 | } | 240 | } |
244 | Event::Vfs(task) => { | 241 | Event::Vfs(task) => { |
@@ -252,7 +249,7 @@ fn main_loop_inner( | |||
252 | } | 249 | } |
253 | Event::Msg(msg) => match msg { | 250 | Event::Msg(msg) => match msg { |
254 | Message::Request(req) => { | 251 | Message::Request(req) => { |
255 | if handle_shutdown(&req, msg_sender) { | 252 | if connection.handle_shutdown(&req)? { |
256 | return Ok(()); | 253 | return Ok(()); |
257 | }; | 254 | }; |
258 | on_request( | 255 | on_request( |
@@ -260,13 +257,13 @@ fn main_loop_inner( | |||
260 | pending_requests, | 257 | pending_requests, |
261 | pool, | 258 | pool, |
262 | &task_sender, | 259 | &task_sender, |
263 | msg_sender, | 260 | &connection.sender, |
264 | loop_start, | 261 | loop_start, |
265 | req, | 262 | req, |
266 | )? | 263 | )? |
267 | } | 264 | } |
268 | Message::Notification(not) => { | 265 | Message::Notification(not) => { |
269 | on_notification(msg_sender, state, pending_requests, &mut subs, not)?; | 266 | on_notification(&connection.sender, state, pending_requests, &mut subs, not)?; |
270 | state_changed = true; | 267 | state_changed = true; |
271 | } | 268 | } |
272 | Message::Response(resp) => log::error!("unexpected response: {:?}", resp), | 269 | Message::Response(resp) => log::error!("unexpected response: {:?}", resp), |
@@ -294,7 +291,7 @@ fn main_loop_inner( | |||
294 | let n_packages: usize = state.workspaces.iter().map(|it| it.n_packages()).sum(); | 291 | let n_packages: usize = state.workspaces.iter().map(|it| it.n_packages()).sum(); |
295 | if state.feature_flags().get("notifications.workspace-loaded") { | 292 | if state.feature_flags().get("notifications.workspace-loaded") { |
296 | let msg = format!("workspace loaded, {} rust packages", n_packages); | 293 | let msg = format!("workspace loaded, {} rust packages", n_packages); |
297 | show_message(req::MessageType::Info, msg, msg_sender); | 294 | show_message(req::MessageType::Info, msg, &connection.sender); |
298 | } | 295 | } |
299 | // Only send the notification first time | 296 | // Only send the notification first time |
300 | send_workspace_notification = false; | 297 | send_workspace_notification = false; |
diff --git a/crates/ra_lsp_server/src/project_model.rs b/crates/ra_lsp_server/src/project_model.rs index ad59cde64..6234563f2 100644 --- a/crates/ra_lsp_server/src/project_model.rs +++ b/crates/ra_lsp_server/src/project_model.rs | |||
@@ -1,8 +1,6 @@ | |||
1 | use std::path::PathBuf; | 1 | use std::path::PathBuf; |
2 | 2 | ||
3 | use thread_worker::Worker; | 3 | use crate::{thread_worker::Worker, Result}; |
4 | |||
5 | use crate::Result; | ||
6 | 4 | ||
7 | pub use ra_project_model::{ | 5 | pub use ra_project_model::{ |
8 | CargoWorkspace, Package, ProjectWorkspace, Sysroot, Target, TargetKind, | 6 | CargoWorkspace, Package, ProjectWorkspace, Sysroot, Target, TargetKind, |
diff --git a/crates/thread_worker/src/lib.rs b/crates/ra_lsp_server/src/thread_worker.rs index 68e5c124d..68e5c124d 100644 --- a/crates/thread_worker/src/lib.rs +++ b/crates/ra_lsp_server/src/thread_worker.rs | |||
diff --git a/crates/ra_lsp_server/tests/heavy_tests/support.rs b/crates/ra_lsp_server/tests/heavy_tests/support.rs index 45b4cacf6..89f65cef4 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/support.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs | |||
@@ -8,16 +8,17 @@ use std::{ | |||
8 | 8 | ||
9 | use crossbeam_channel::{after, select, Receiver}; | 9 | use crossbeam_channel::{after, select, Receiver}; |
10 | use flexi_logger::Logger; | 10 | use flexi_logger::Logger; |
11 | use lsp_server::{Message, Notification, Request}; | 11 | use lsp_server::{Connection, Message, Notification, Request}; |
12 | use lsp_types::{ | 12 | use lsp_types::{ |
13 | request::Shutdown, ClientCapabilities, DidOpenTextDocumentParams, GotoCapability, | 13 | notification::{DidOpenTextDocument, Exit}, |
14 | TextDocumentClientCapabilities, TextDocumentIdentifier, TextDocumentItem, Url, | 14 | request::Shutdown, |
15 | ClientCapabilities, DidOpenTextDocumentParams, GotoCapability, TextDocumentClientCapabilities, | ||
16 | TextDocumentIdentifier, TextDocumentItem, Url, | ||
15 | }; | 17 | }; |
16 | use serde::Serialize; | 18 | use serde::Serialize; |
17 | use serde_json::{to_string_pretty, Value}; | 19 | use serde_json::{to_string_pretty, Value}; |
18 | use tempfile::TempDir; | 20 | use tempfile::TempDir; |
19 | use test_utils::{find_mismatch, parse_fixture}; | 21 | use test_utils::{find_mismatch, parse_fixture}; |
20 | use thread_worker::Worker; | ||
21 | 22 | ||
22 | use ra_lsp_server::{main_loop, req, ServerConfig}; | 23 | use ra_lsp_server::{main_loop, req, ServerConfig}; |
23 | 24 | ||
@@ -83,7 +84,8 @@ pub struct Server { | |||
83 | req_id: Cell<u64>, | 84 | req_id: Cell<u64>, |
84 | messages: RefCell<Vec<Message>>, | 85 | messages: RefCell<Vec<Message>>, |
85 | dir: TempDir, | 86 | dir: TempDir, |
86 | worker: Worker<Message, Message>, | 87 | _thread: jod_thread::JoinHandle<()>, |
88 | client: Connection, | ||
87 | } | 89 | } |
88 | 90 | ||
89 | impl Server { | 91 | impl Server { |
@@ -96,11 +98,11 @@ impl Server { | |||
96 | let path = dir.path().to_path_buf(); | 98 | let path = dir.path().to_path_buf(); |
97 | 99 | ||
98 | let roots = if roots.is_empty() { vec![path] } else { roots }; | 100 | let roots = if roots.is_empty() { vec![path] } else { roots }; |
101 | let (connection, client) = Connection::memory(); | ||
99 | 102 | ||
100 | let worker = Worker::<Message, Message>::spawn( | 103 | let _thread = jod_thread::Builder::new() |
101 | "test server", | 104 | .name("test server".to_string()) |
102 | 128, | 105 | .spawn(move || { |
103 | move |msg_receiver, msg_sender| { | ||
104 | main_loop( | 106 | main_loop( |
105 | roots, | 107 | roots, |
106 | ClientCapabilities { | 108 | ClientCapabilities { |
@@ -116,26 +118,24 @@ impl Server { | |||
116 | experimental: None, | 118 | experimental: None, |
117 | }, | 119 | }, |
118 | ServerConfig { with_sysroot, ..ServerConfig::default() }, | 120 | ServerConfig { with_sysroot, ..ServerConfig::default() }, |
119 | &msg_receiver, | 121 | &connection, |
120 | &msg_sender, | ||
121 | ) | 122 | ) |
122 | .unwrap() | 123 | .unwrap() |
123 | }, | 124 | }) |
124 | ); | 125 | .expect("failed to spawn a thread"); |
125 | let res = Server { req_id: Cell::new(1), dir, messages: Default::default(), worker }; | 126 | |
127 | let res = | ||
128 | Server { req_id: Cell::new(1), dir, messages: Default::default(), client, _thread }; | ||
126 | 129 | ||
127 | for (path, text) in files { | 130 | for (path, text) in files { |
128 | res.send_notification(Notification::new( | 131 | res.notification::<DidOpenTextDocument>(DidOpenTextDocumentParams { |
129 | "textDocument/didOpen".to_string(), | 132 | text_document: TextDocumentItem { |
130 | &DidOpenTextDocumentParams { | 133 | uri: Url::from_file_path(path).unwrap(), |
131 | text_document: TextDocumentItem { | 134 | language_id: "rust".to_string(), |
132 | uri: Url::from_file_path(path).unwrap(), | 135 | version: 0, |
133 | language_id: "rust".to_string(), | 136 | text, |
134 | version: 0, | ||
135 | text, | ||
136 | }, | ||
137 | }, | 137 | }, |
138 | )) | 138 | }) |
139 | } | 139 | } |
140 | res | 140 | res |
141 | } | 141 | } |
@@ -184,7 +184,7 @@ impl Server { | |||
184 | } | 184 | } |
185 | fn send_request_(&self, r: Request) -> Value { | 185 | fn send_request_(&self, r: Request) -> Value { |
186 | let id = r.id.clone(); | 186 | let id = r.id.clone(); |
187 | self.worker.sender().send(r.into()).unwrap(); | 187 | self.client.sender.send(r.into()).unwrap(); |
188 | while let Some(msg) = self.recv() { | 188 | while let Some(msg) = self.recv() { |
189 | match msg { | 189 | match msg { |
190 | Message::Request(req) => panic!("unexpected request: {:?}", req), | 190 | Message::Request(req) => panic!("unexpected request: {:?}", req), |
@@ -225,13 +225,13 @@ impl Server { | |||
225 | } | 225 | } |
226 | } | 226 | } |
227 | fn recv(&self) -> Option<Message> { | 227 | fn recv(&self) -> Option<Message> { |
228 | recv_timeout(&self.worker.receiver()).map(|msg| { | 228 | recv_timeout(&self.client.receiver).map(|msg| { |
229 | self.messages.borrow_mut().push(msg.clone()); | 229 | self.messages.borrow_mut().push(msg.clone()); |
230 | msg | 230 | msg |
231 | }) | 231 | }) |
232 | } | 232 | } |
233 | fn send_notification(&self, not: Notification) { | 233 | fn send_notification(&self, not: Notification) { |
234 | self.worker.sender().send(Message::Notification(not)).unwrap(); | 234 | self.client.sender.send(Message::Notification(not)).unwrap(); |
235 | } | 235 | } |
236 | 236 | ||
237 | pub fn path(&self) -> &Path { | 237 | pub fn path(&self) -> &Path { |
@@ -241,7 +241,8 @@ impl Server { | |||
241 | 241 | ||
242 | impl Drop for Server { | 242 | impl Drop for Server { |
243 | fn drop(&mut self) { | 243 | fn drop(&mut self) { |
244 | self.send_request::<Shutdown>(()); | 244 | self.request::<Shutdown>((), Value::Null); |
245 | self.notification::<Exit>(()); | ||
245 | } | 246 | } |
246 | } | 247 | } |
247 | 248 | ||
diff --git a/crates/thread_worker/Cargo.toml b/crates/thread_worker/Cargo.toml deleted file mode 100644 index e3babbf8d..000000000 --- a/crates/thread_worker/Cargo.toml +++ /dev/null | |||
@@ -1,10 +0,0 @@ | |||
1 | [package] | ||
2 | edition = "2018" | ||
3 | name = "thread_worker" | ||
4 | version = "0.1.0" | ||
5 | authors = ["rust-analyzer developers"] | ||
6 | |||
7 | [dependencies] | ||
8 | jod-thread = "0.1.0" | ||
9 | crossbeam-channel = "0.3.5" | ||
10 | log = "0.4.3" | ||