diff options
26 files changed, 573 insertions, 213 deletions
diff --git a/Cargo.lock b/Cargo.lock index f09360795..4551ffc44 100644 --- a/Cargo.lock +++ b/Cargo.lock | |||
@@ -34,7 +34,7 @@ name = "atty" | |||
34 | version = "0.2.11" | 34 | version = "0.2.11" |
35 | source = "registry+https://github.com/rust-lang/crates.io-index" | 35 | source = "registry+https://github.com/rust-lang/crates.io-index" |
36 | dependencies = [ | 36 | dependencies = [ |
37 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 37 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
38 | "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 38 | "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
39 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 39 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
40 | ] | 40 | ] |
@@ -51,8 +51,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
51 | dependencies = [ | 51 | dependencies = [ |
52 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 52 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
53 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", | 53 | "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)", |
54 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 54 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
55 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 55 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
56 | "rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", | 56 | "rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", |
57 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 57 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
58 | ] | 58 | ] |
@@ -62,8 +62,8 @@ name = "backtrace-sys" | |||
62 | version = "0.1.28" | 62 | version = "0.1.28" |
63 | source = "registry+https://github.com/rust-lang/crates.io-index" | 63 | source = "registry+https://github.com/rust-lang/crates.io-index" |
64 | dependencies = [ | 64 | dependencies = [ |
65 | "cc 1.0.29 (registry+https://github.com/rust-lang/crates.io-index)", | 65 | "cc 1.0.30 (registry+https://github.com/rust-lang/crates.io-index)", |
66 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 66 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
67 | ] | 67 | ] |
68 | 68 | ||
69 | [[package]] | 69 | [[package]] |
@@ -123,19 +123,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
123 | dependencies = [ | 123 | dependencies = [ |
124 | "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", | 124 | "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", |
125 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", | 125 | "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", |
126 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 126 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
127 | "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 127 | "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
128 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 128 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
129 | ] | 129 | ] |
130 | 130 | ||
131 | [[package]] | 131 | [[package]] |
132 | name = "cc" | 132 | name = "cc" |
133 | version = "1.0.29" | 133 | version = "1.0.30" |
134 | source = "registry+https://github.com/rust-lang/crates.io-index" | 134 | source = "registry+https://github.com/rust-lang/crates.io-index" |
135 | 135 | ||
136 | [[package]] | 136 | [[package]] |
137 | name = "cfg-if" | 137 | name = "cfg-if" |
138 | version = "0.1.6" | 138 | version = "0.1.7" |
139 | source = "registry+https://github.com/rust-lang/crates.io-index" | 139 | source = "registry+https://github.com/rust-lang/crates.io-index" |
140 | 140 | ||
141 | [[package]] | 141 | [[package]] |
@@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
145 | dependencies = [ | 145 | dependencies = [ |
146 | "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", | 146 | "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", |
147 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 147 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", |
148 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 148 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
149 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", | 149 | "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", |
150 | ] | 150 | ] |
151 | 151 | ||
@@ -175,7 +175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
175 | dependencies = [ | 175 | dependencies = [ |
176 | "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | 176 | "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", |
177 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 177 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
178 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 178 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
179 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 179 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
180 | ] | 180 | ] |
181 | 181 | ||
@@ -201,9 +201,9 @@ dependencies = [ | |||
201 | "clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 201 | "clicolors-control 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
202 | "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", | 202 | "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", |
203 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 203 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
204 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 204 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
205 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 205 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
206 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 206 | "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
207 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 207 | "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
208 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 208 | "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
209 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 209 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -233,7 +233,7 @@ version = "0.3.1" | |||
233 | source = "registry+https://github.com/rust-lang/crates.io-index" | 233 | source = "registry+https://github.com/rust-lang/crates.io-index" |
234 | dependencies = [ | 234 | dependencies = [ |
235 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", | 235 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", |
236 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 236 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
237 | "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 237 | "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
238 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 238 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
239 | "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 239 | "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -246,7 +246,7 @@ name = "crossbeam-utils" | |||
246 | version = "0.2.2" | 246 | version = "0.2.2" |
247 | source = "registry+https://github.com/rust-lang/crates.io-index" | 247 | source = "registry+https://github.com/rust-lang/crates.io-index" |
248 | dependencies = [ | 248 | dependencies = [ |
249 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 249 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
250 | ] | 250 | ] |
251 | 251 | ||
252 | [[package]] | 252 | [[package]] |
@@ -254,7 +254,7 @@ name = "crossbeam-utils" | |||
254 | version = "0.6.5" | 254 | version = "0.6.5" |
255 | source = "registry+https://github.com/rust-lang/crates.io-index" | 255 | source = "registry+https://github.com/rust-lang/crates.io-index" |
256 | dependencies = [ | 256 | dependencies = [ |
257 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 257 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
258 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 258 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
259 | ] | 259 | ] |
260 | 260 | ||
@@ -265,7 +265,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
265 | dependencies = [ | 265 | dependencies = [ |
266 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 266 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
267 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 267 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
268 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 268 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
269 | ] | 269 | ] |
270 | 270 | ||
271 | [[package]] | 271 | [[package]] |
@@ -338,7 +338,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
338 | dependencies = [ | 338 | dependencies = [ |
339 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 339 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
340 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 340 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
341 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 341 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
342 | "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 342 | "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", |
343 | ] | 343 | ] |
344 | 344 | ||
@@ -352,20 +352,20 @@ name = "filetime" | |||
352 | version = "0.2.4" | 352 | version = "0.2.4" |
353 | source = "registry+https://github.com/rust-lang/crates.io-index" | 353 | source = "registry+https://github.com/rust-lang/crates.io-index" |
354 | dependencies = [ | 354 | dependencies = [ |
355 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 355 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
356 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 356 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
357 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | 357 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", |
358 | ] | 358 | ] |
359 | 359 | ||
360 | [[package]] | 360 | [[package]] |
361 | name = "flexi_logger" | 361 | name = "flexi_logger" |
362 | version = "0.10.7" | 362 | version = "0.11.0" |
363 | source = "registry+https://github.com/rust-lang/crates.io-index" | 363 | source = "registry+https://github.com/rust-lang/crates.io-index" |
364 | dependencies = [ | 364 | dependencies = [ |
365 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 365 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
366 | "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", | 366 | "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", |
367 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 367 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
368 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 368 | "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
369 | ] | 369 | ] |
370 | 370 | ||
371 | [[package]] | 371 | [[package]] |
@@ -385,7 +385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
385 | dependencies = [ | 385 | dependencies = [ |
386 | "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 386 | "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
387 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 387 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
388 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 388 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
389 | ] | 389 | ] |
390 | 390 | ||
391 | [[package]] | 391 | [[package]] |
@@ -393,7 +393,7 @@ name = "fsevent-sys" | |||
393 | version = "0.1.6" | 393 | version = "0.1.6" |
394 | source = "registry+https://github.com/rust-lang/crates.io-index" | 394 | source = "registry+https://github.com/rust-lang/crates.io-index" |
395 | dependencies = [ | 395 | dependencies = [ |
396 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 396 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
397 | ] | 397 | ] |
398 | 398 | ||
399 | [[package]] | 399 | [[package]] |
@@ -432,8 +432,8 @@ dependencies = [ | |||
432 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 432 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
433 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 433 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
434 | "lsp-types 0.56.0 (registry+https://github.com/rust-lang/crates.io-index)", | 434 | "lsp-types 0.56.0 (registry+https://github.com/rust-lang/crates.io-index)", |
435 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 435 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
436 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 436 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
437 | ] | 437 | ] |
438 | 438 | ||
439 | [[package]] | 439 | [[package]] |
@@ -486,7 +486,7 @@ dependencies = [ | |||
486 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 486 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
487 | "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 487 | "number_prefix 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
488 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 488 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
489 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 489 | "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
490 | ] | 490 | ] |
491 | 491 | ||
492 | [[package]] | 492 | [[package]] |
@@ -496,7 +496,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
496 | dependencies = [ | 496 | dependencies = [ |
497 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | 497 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", |
498 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 498 | "inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
499 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 499 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
500 | ] | 500 | ] |
501 | 501 | ||
502 | [[package]] | 502 | [[package]] |
@@ -504,12 +504,12 @@ name = "inotify-sys" | |||
504 | version = "0.1.3" | 504 | version = "0.1.3" |
505 | source = "registry+https://github.com/rust-lang/crates.io-index" | 505 | source = "registry+https://github.com/rust-lang/crates.io-index" |
506 | dependencies = [ | 506 | dependencies = [ |
507 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 507 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
508 | ] | 508 | ] |
509 | 509 | ||
510 | [[package]] | 510 | [[package]] |
511 | name = "insta" | 511 | name = "insta" |
512 | version = "0.6.3" | 512 | version = "0.7.0" |
513 | source = "registry+https://github.com/rust-lang/crates.io-index" | 513 | source = "registry+https://github.com/rust-lang/crates.io-index" |
514 | dependencies = [ | 514 | dependencies = [ |
515 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 515 | "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -520,9 +520,9 @@ dependencies = [ | |||
520 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 520 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
521 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 521 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
522 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 522 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
523 | "ron 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | 523 | "ron 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
524 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 524 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
525 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 525 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
526 | "serde_yaml 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)", | 526 | "serde_yaml 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)", |
527 | "uuid 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 527 | "uuid 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
528 | ] | 528 | ] |
@@ -532,7 +532,7 @@ name = "iovec" | |||
532 | version = "0.1.2" | 532 | version = "0.1.2" |
533 | source = "registry+https://github.com/rust-lang/crates.io-index" | 533 | source = "registry+https://github.com/rust-lang/crates.io-index" |
534 | dependencies = [ | 534 | dependencies = [ |
535 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 535 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
536 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", | 536 | "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", |
537 | ] | 537 | ] |
538 | 538 | ||
@@ -555,7 +555,7 @@ version = "0.2.0" | |||
555 | source = "registry+https://github.com/rust-lang/crates.io-index" | 555 | source = "registry+https://github.com/rust-lang/crates.io-index" |
556 | dependencies = [ | 556 | dependencies = [ |
557 | "jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", | 557 | "jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", |
558 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 558 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
559 | ] | 559 | ] |
560 | 560 | ||
561 | [[package]] | 561 | [[package]] |
@@ -563,9 +563,9 @@ name = "jemalloc-sys" | |||
563 | version = "0.1.8" | 563 | version = "0.1.8" |
564 | source = "registry+https://github.com/rust-lang/crates.io-index" | 564 | source = "registry+https://github.com/rust-lang/crates.io-index" |
565 | dependencies = [ | 565 | dependencies = [ |
566 | "cc 1.0.29 (registry+https://github.com/rust-lang/crates.io-index)", | 566 | "cc 1.0.30 (registry+https://github.com/rust-lang/crates.io-index)", |
567 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 567 | "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
568 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 568 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
569 | ] | 569 | ] |
570 | 570 | ||
571 | [[package]] | 571 | [[package]] |
@@ -574,7 +574,7 @@ version = "0.1.9" | |||
574 | source = "registry+https://github.com/rust-lang/crates.io-index" | 574 | source = "registry+https://github.com/rust-lang/crates.io-index" |
575 | dependencies = [ | 575 | dependencies = [ |
576 | "jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", | 576 | "jemalloc-sys 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", |
577 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 577 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
578 | ] | 578 | ] |
579 | 579 | ||
580 | [[package]] | 580 | [[package]] |
@@ -606,7 +606,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
606 | 606 | ||
607 | [[package]] | 607 | [[package]] |
608 | name = "libc" | 608 | name = "libc" |
609 | version = "0.2.49" | 609 | version = "0.2.50" |
610 | source = "registry+https://github.com/rust-lang/crates.io-index" | 610 | source = "registry+https://github.com/rust-lang/crates.io-index" |
611 | 611 | ||
612 | [[package]] | 612 | [[package]] |
@@ -628,7 +628,7 @@ name = "log" | |||
628 | version = "0.4.6" | 628 | version = "0.4.6" |
629 | source = "registry+https://github.com/rust-lang/crates.io-index" | 629 | source = "registry+https://github.com/rust-lang/crates.io-index" |
630 | dependencies = [ | 630 | dependencies = [ |
631 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 631 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
632 | ] | 632 | ] |
633 | 633 | ||
634 | [[package]] | 634 | [[package]] |
@@ -639,9 +639,9 @@ dependencies = [ | |||
639 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | 639 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", |
640 | "num-derive 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", | 640 | "num-derive 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", |
641 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", | 641 | "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", |
642 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 642 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
643 | "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 643 | "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
644 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 644 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
645 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 645 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
646 | "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 646 | "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
647 | ] | 647 | ] |
@@ -666,7 +666,7 @@ name = "memmap" | |||
666 | version = "0.6.2" | 666 | version = "0.6.2" |
667 | source = "registry+https://github.com/rust-lang/crates.io-index" | 667 | source = "registry+https://github.com/rust-lang/crates.io-index" |
668 | dependencies = [ | 668 | dependencies = [ |
669 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 669 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
670 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 670 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
671 | ] | 671 | ] |
672 | 672 | ||
@@ -685,7 +685,7 @@ dependencies = [ | |||
685 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 685 | "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
686 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 686 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
687 | "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 687 | "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
688 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 688 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
689 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 689 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
690 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", | 690 | "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", |
691 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", | 691 | "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -720,8 +720,8 @@ name = "net2" | |||
720 | version = "0.2.33" | 720 | version = "0.2.33" |
721 | source = "registry+https://github.com/rust-lang/crates.io-index" | 721 | source = "registry+https://github.com/rust-lang/crates.io-index" |
722 | dependencies = [ | 722 | dependencies = [ |
723 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 723 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
724 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 724 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
725 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 725 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
726 | ] | 726 | ] |
727 | 727 | ||
@@ -732,7 +732,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
732 | 732 | ||
733 | [[package]] | 733 | [[package]] |
734 | name = "notify" | 734 | name = "notify" |
735 | version = "4.0.9" | 735 | version = "4.0.10" |
736 | source = "registry+https://github.com/rust-lang/crates.io-index" | 736 | source = "registry+https://github.com/rust-lang/crates.io-index" |
737 | dependencies = [ | 737 | dependencies = [ |
738 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | 738 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -741,7 +741,7 @@ dependencies = [ | |||
741 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 741 | "fsevent-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
742 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", | 742 | "inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", |
743 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", | 743 | "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", |
744 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 744 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
745 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", | 745 | "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)", |
746 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", | 746 | "mio-extras 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)", |
747 | "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", | 747 | "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -755,7 +755,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
755 | dependencies = [ | 755 | dependencies = [ |
756 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 756 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
757 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 757 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
758 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 758 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
759 | ] | 759 | ] |
760 | 760 | ||
761 | [[package]] | 761 | [[package]] |
@@ -776,7 +776,7 @@ name = "num_cpus" | |||
776 | version = "1.10.0" | 776 | version = "1.10.0" |
777 | source = "registry+https://github.com/rust-lang/crates.io-index" | 777 | source = "registry+https://github.com/rust-lang/crates.io-index" |
778 | dependencies = [ | 778 | dependencies = [ |
779 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 779 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
780 | ] | 780 | ] |
781 | 781 | ||
782 | [[package]] | 782 | [[package]] |
@@ -809,7 +809,7 @@ name = "parking_lot_core" | |||
809 | version = "0.4.0" | 809 | version = "0.4.0" |
810 | source = "registry+https://github.com/rust-lang/crates.io-index" | 810 | source = "registry+https://github.com/rust-lang/crates.io-index" |
811 | dependencies = [ | 811 | dependencies = [ |
812 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 812 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
813 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", | 813 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", |
814 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", | 814 | "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", |
815 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", | 815 | "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -847,7 +847,7 @@ dependencies = [ | |||
847 | "pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 847 | "pest_meta 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
848 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 848 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
849 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 849 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
850 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 850 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
851 | ] | 851 | ] |
852 | 852 | ||
853 | [[package]] | 853 | [[package]] |
@@ -928,7 +928,7 @@ dependencies = [ | |||
928 | "ra_hir 0.1.0", | 928 | "ra_hir 0.1.0", |
929 | "ra_project_model 0.1.0", | 929 | "ra_project_model 0.1.0", |
930 | "ra_syntax 0.1.0", | 930 | "ra_syntax 0.1.0", |
931 | "ra_vfs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 931 | "ra_vfs 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
932 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 932 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
933 | "test_utils 0.1.0", | 933 | "test_utils 0.1.0", |
934 | ] | 934 | ] |
@@ -939,7 +939,7 @@ version = "0.1.0" | |||
939 | dependencies = [ | 939 | dependencies = [ |
940 | "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", | 940 | "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", |
941 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 941 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
942 | "flexi_logger 0.10.7 (registry+https://github.com/rust-lang/crates.io-index)", | 942 | "flexi_logger 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
943 | "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 943 | "indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
944 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 944 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
945 | "ra_batch 0.1.0", | 945 | "ra_batch 0.1.0", |
@@ -977,8 +977,8 @@ version = "0.1.0" | |||
977 | dependencies = [ | 977 | dependencies = [ |
978 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", | 978 | "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", |
979 | "ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", | 979 | "ena 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
980 | "flexi_logger 0.10.7 (registry+https://github.com/rust-lang/crates.io-index)", | 980 | "flexi_logger 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
981 | "insta 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | 981 | "insta 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
982 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 982 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
983 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 983 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
984 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 984 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -997,7 +997,7 @@ name = "ra_ide_api" | |||
997 | version = "0.1.0" | 997 | version = "0.1.0" |
998 | dependencies = [ | 998 | dependencies = [ |
999 | "fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", | 999 | "fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1000 | "insta 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1000 | "insta 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1001 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1001 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1002 | "jemalloc-ctl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1002 | "jemalloc-ctl 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1003 | "jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1003 | "jemallocator 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1014,14 +1014,14 @@ dependencies = [ | |||
1014 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1014 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1015 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1015 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1016 | "test_utils 0.1.0", | 1016 | "test_utils 0.1.0", |
1017 | "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1017 | "unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1018 | ] | 1018 | ] |
1019 | 1019 | ||
1020 | [[package]] | 1020 | [[package]] |
1021 | name = "ra_ide_api_light" | 1021 | name = "ra_ide_api_light" |
1022 | version = "0.1.0" | 1022 | version = "0.1.0" |
1023 | dependencies = [ | 1023 | dependencies = [ |
1024 | "insta 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1024 | "insta 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1025 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1025 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1026 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1026 | "join_to_string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1027 | "proptest 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1027 | "proptest 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1040,7 +1040,7 @@ dependencies = [ | |||
1040 | "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1040 | "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1041 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1041 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1042 | "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1042 | "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1043 | "flexi_logger 0.10.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1043 | "flexi_logger 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1044 | "gen_lsp_server 0.1.0", | 1044 | "gen_lsp_server 0.1.0", |
1045 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1045 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1046 | "lsp-types 0.56.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1046 | "lsp-types 0.56.0 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1050,11 +1050,11 @@ dependencies = [ | |||
1050 | "ra_project_model 0.1.0", | 1050 | "ra_project_model 0.1.0", |
1051 | "ra_syntax 0.1.0", | 1051 | "ra_syntax 0.1.0", |
1052 | "ra_text_edit 0.1.0", | 1052 | "ra_text_edit 0.1.0", |
1053 | "ra_vfs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1053 | "ra_vfs 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1054 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1054 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1055 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1055 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1056 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1056 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1057 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 1057 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
1058 | "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1058 | "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1059 | "test_utils 0.1.0", | 1059 | "test_utils 0.1.0", |
1060 | "thread_worker 0.1.0", | 1060 | "thread_worker 0.1.0", |
@@ -1129,12 +1129,12 @@ dependencies = [ | |||
1129 | 1129 | ||
1130 | [[package]] | 1130 | [[package]] |
1131 | name = "ra_vfs" | 1131 | name = "ra_vfs" |
1132 | version = "0.1.0" | 1132 | version = "0.1.1" |
1133 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1133 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1134 | dependencies = [ | 1134 | dependencies = [ |
1135 | "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", | 1135 | "crossbeam-channel 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", |
1136 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1136 | "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1137 | "notify 4.0.9 (registry+https://github.com/rust-lang/crates.io-index)", | 1137 | "notify 4.0.10 (registry+https://github.com/rust-lang/crates.io-index)", |
1138 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1138 | "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1139 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1139 | "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1140 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1140 | "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1147,13 +1147,13 @@ version = "0.6.5" | |||
1147 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1147 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1148 | dependencies = [ | 1148 | dependencies = [ |
1149 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1149 | "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1150 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1150 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1151 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1151 | "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1152 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1152 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1153 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1153 | "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1154 | "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1154 | "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1155 | "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1155 | "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1156 | "rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1156 | "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1157 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1157 | "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1158 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1158 | "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1159 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1159 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1202,19 +1202,19 @@ name = "rand_jitter" | |||
1202 | version = "0.1.3" | 1202 | version = "0.1.3" |
1203 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1203 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1204 | dependencies = [ | 1204 | dependencies = [ |
1205 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1205 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1206 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1206 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1207 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1207 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1208 | ] | 1208 | ] |
1209 | 1209 | ||
1210 | [[package]] | 1210 | [[package]] |
1211 | name = "rand_os" | 1211 | name = "rand_os" |
1212 | version = "0.1.2" | 1212 | version = "0.1.3" |
1213 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1214 | dependencies = [ | 1214 | dependencies = [ |
1215 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1215 | "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1216 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1216 | "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1217 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1217 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1218 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1218 | "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1219 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1219 | "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1220 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1220 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1254,7 +1254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1254 | dependencies = [ | 1254 | dependencies = [ |
1255 | "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1255 | "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1256 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1256 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1257 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1257 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1258 | "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1258 | "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1259 | ] | 1259 | ] |
1260 | 1260 | ||
@@ -1281,7 +1281,7 @@ dependencies = [ | |||
1281 | 1281 | ||
1282 | [[package]] | 1282 | [[package]] |
1283 | name = "regex" | 1283 | name = "regex" |
1284 | version = "1.1.0" | 1284 | version = "1.1.2" |
1285 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1285 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1286 | dependencies = [ | 1286 | dependencies = [ |
1287 | "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", | 1287 | "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1314,12 +1314,12 @@ dependencies = [ | |||
1314 | 1314 | ||
1315 | [[package]] | 1315 | [[package]] |
1316 | name = "ron" | 1316 | name = "ron" |
1317 | version = "0.4.1" | 1317 | version = "0.4.2" |
1318 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1318 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1319 | dependencies = [ | 1319 | dependencies = [ |
1320 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1320 | "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1321 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1321 | "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1322 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1322 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1323 | ] | 1323 | ] |
1324 | 1324 | ||
1325 | [[package]] | 1325 | [[package]] |
@@ -1393,7 +1393,7 @@ dependencies = [ | |||
1393 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1393 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1394 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 1394 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1395 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 1395 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1396 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 1396 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1397 | ] | 1397 | ] |
1398 | 1398 | ||
1399 | [[package]] | 1399 | [[package]] |
@@ -1415,7 +1415,7 @@ version = "0.9.0" | |||
1415 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1415 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1416 | dependencies = [ | 1416 | dependencies = [ |
1417 | "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1417 | "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1418 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1418 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1419 | ] | 1419 | ] |
1420 | 1420 | ||
1421 | [[package]] | 1421 | [[package]] |
@@ -1425,30 +1425,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1425 | 1425 | ||
1426 | [[package]] | 1426 | [[package]] |
1427 | name = "serde" | 1427 | name = "serde" |
1428 | version = "1.0.88" | 1428 | version = "1.0.89" |
1429 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1429 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1430 | dependencies = [ | 1430 | dependencies = [ |
1431 | "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1431 | "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1432 | ] | 1432 | ] |
1433 | 1433 | ||
1434 | [[package]] | 1434 | [[package]] |
1435 | name = "serde_derive" | 1435 | name = "serde_derive" |
1436 | version = "1.0.88" | 1436 | version = "1.0.89" |
1437 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1437 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1438 | dependencies = [ | 1438 | dependencies = [ |
1439 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 1439 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1440 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 1440 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1441 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 1441 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1442 | ] | 1442 | ] |
1443 | 1443 | ||
1444 | [[package]] | 1444 | [[package]] |
1445 | name = "serde_json" | 1445 | name = "serde_json" |
1446 | version = "1.0.38" | 1446 | version = "1.0.39" |
1447 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1447 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1448 | dependencies = [ | 1448 | dependencies = [ |
1449 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1449 | "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1450 | "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", | 1450 | "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1451 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1451 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1452 | ] | 1452 | ] |
1453 | 1453 | ||
1454 | [[package]] | 1454 | [[package]] |
@@ -1458,7 +1458,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1458 | dependencies = [ | 1458 | dependencies = [ |
1459 | "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", | 1459 | "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", |
1460 | "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1460 | "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1461 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1461 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1462 | "yaml-rust 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1462 | "yaml-rust 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1463 | ] | 1463 | ] |
1464 | 1464 | ||
@@ -1496,7 +1496,7 @@ name = "smol_str" | |||
1496 | version = "0.1.9" | 1496 | version = "0.1.9" |
1497 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1497 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1498 | dependencies = [ | 1498 | dependencies = [ |
1499 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1499 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1500 | ] | 1500 | ] |
1501 | 1501 | ||
1502 | [[package]] | 1502 | [[package]] |
@@ -1521,7 +1521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1521 | 1521 | ||
1522 | [[package]] | 1522 | [[package]] |
1523 | name = "syn" | 1523 | name = "syn" |
1524 | version = "0.15.26" | 1524 | version = "0.15.27" |
1525 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1526 | dependencies = [ | 1526 | dependencies = [ |
1527 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 1527 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1536,7 +1536,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1536 | dependencies = [ | 1536 | dependencies = [ |
1537 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", | 1537 | "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1538 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", | 1538 | "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)", |
1539 | "syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)", | 1539 | "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)", |
1540 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1540 | "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1541 | ] | 1541 | ] |
1542 | 1542 | ||
@@ -1545,8 +1545,8 @@ name = "tempfile" | |||
1545 | version = "3.0.7" | 1545 | version = "3.0.7" |
1546 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1547 | dependencies = [ | 1547 | dependencies = [ |
1548 | "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1548 | "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", |
1549 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1549 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1550 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1550 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1551 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | 1551 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", |
1552 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1552 | "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1565,9 +1565,9 @@ dependencies = [ | |||
1565 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1565 | "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1566 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1566 | "pest 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1567 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1567 | "pest_derive 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1568 | "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1568 | "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1569 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1569 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1570 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 1570 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
1571 | "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", | 1571 | "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", |
1572 | "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1572 | "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1573 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1573 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1580,7 +1580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1580 | dependencies = [ | 1580 | dependencies = [ |
1581 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1581 | "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1582 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1582 | "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1583 | "ron 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1583 | "ron 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1584 | "tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)", | 1584 | "tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)", |
1585 | ] | 1585 | ] |
1586 | 1586 | ||
@@ -1589,7 +1589,7 @@ name = "termion" | |||
1589 | version = "1.5.1" | 1589 | version = "1.5.1" |
1590 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1590 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1591 | dependencies = [ | 1591 | dependencies = [ |
1592 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1592 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1593 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | 1593 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", |
1594 | "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", | 1594 | "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", |
1595 | ] | 1595 | ] |
@@ -1599,7 +1599,7 @@ name = "termios" | |||
1599 | version = "0.3.1" | 1599 | version = "0.3.1" |
1600 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1600 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1601 | dependencies = [ | 1601 | dependencies = [ |
1602 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1602 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1603 | ] | 1603 | ] |
1604 | 1604 | ||
1605 | [[package]] | 1605 | [[package]] |
@@ -1608,7 +1608,7 @@ version = "0.1.0" | |||
1608 | dependencies = [ | 1608 | dependencies = [ |
1609 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1609 | "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1610 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | 1610 | "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", |
1611 | "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", | 1611 | "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)", |
1612 | "text_unit 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1612 | "text_unit 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1613 | ] | 1613 | ] |
1614 | 1614 | ||
@@ -1617,7 +1617,7 @@ name = "text_unit" | |||
1617 | version = "0.1.6" | 1617 | version = "0.1.6" |
1618 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1618 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1619 | dependencies = [ | 1619 | dependencies = [ |
1620 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1620 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1621 | ] | 1621 | ] |
1622 | 1622 | ||
1623 | [[package]] | 1623 | [[package]] |
@@ -1657,7 +1657,7 @@ name = "time" | |||
1657 | version = "0.1.42" | 1657 | version = "0.1.42" |
1658 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1658 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1659 | dependencies = [ | 1659 | dependencies = [ |
1660 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1660 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1661 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", | 1661 | "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)", |
1662 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", | 1662 | "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", |
1663 | ] | 1663 | ] |
@@ -1734,7 +1734,7 @@ dependencies = [ | |||
1734 | 1734 | ||
1735 | [[package]] | 1735 | [[package]] |
1736 | name = "unicase" | 1736 | name = "unicase" |
1737 | version = "2.2.0" | 1737 | version = "2.3.0" |
1738 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1738 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1739 | dependencies = [ | 1739 | dependencies = [ |
1740 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1740 | "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", |
@@ -1786,7 +1786,7 @@ name = "url_serde" | |||
1786 | version = "0.2.0" | 1786 | version = "0.2.0" |
1787 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1787 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1788 | dependencies = [ | 1788 | dependencies = [ |
1789 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1789 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1790 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", | 1790 | "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", |
1791 | ] | 1791 | ] |
1792 | 1792 | ||
@@ -1801,7 +1801,7 @@ version = "0.7.2" | |||
1801 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1801 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1802 | dependencies = [ | 1802 | dependencies = [ |
1803 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", | 1803 | "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", |
1804 | "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", | 1804 | "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)", |
1805 | ] | 1805 | ] |
1806 | 1806 | ||
1807 | [[package]] | 1807 | [[package]] |
@@ -1819,7 +1819,7 @@ name = "wait-timeout" | |||
1819 | version = "0.1.5" | 1819 | version = "0.1.5" |
1820 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1820 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1821 | dependencies = [ | 1821 | dependencies = [ |
1822 | "libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)", | 1822 | "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)", |
1823 | ] | 1823 | ] |
1824 | 1824 | ||
1825 | [[package]] | 1825 | [[package]] |
@@ -1904,8 +1904,8 @@ dependencies = [ | |||
1904 | "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" | 1904 | "checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" |
1905 | "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" | 1905 | "checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb" |
1906 | "checksum cargo_metadata 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "585784cac9b05c93a53b17a0b24a5cdd1dfdda5256f030e089b549d2390cc720" | 1906 | "checksum cargo_metadata 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "585784cac9b05c93a53b17a0b24a5cdd1dfdda5256f030e089b549d2390cc720" |
1907 | "checksum cc 1.0.29 (registry+https://github.com/rust-lang/crates.io-index)" = "4390a3b5f4f6bce9c1d0c00128379df433e53777fdd30e92f16a529332baec4e" | 1907 | "checksum cc 1.0.30 (registry+https://github.com/rust-lang/crates.io-index)" = "d01c69d08ff207f231f07196e30f84c70f1c815b04f980f8b7b01ff01f05eb92" |
1908 | "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" | 1908 | "checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4" |
1909 | "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" | 1909 | "checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" |
1910 | "checksum ci_info 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e5e881307a989a3a5e20d52a32cc05950e3c2178cccfcc9428271a6cde09f902" | 1910 | "checksum ci_info 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e5e881307a989a3a5e20d52a32cc05950e3c2178cccfcc9428271a6cde09f902" |
1911 | "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" | 1911 | "checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" |
@@ -1932,7 +1932,7 @@ dependencies = [ | |||
1932 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" | 1932 | "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" |
1933 | "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" | 1933 | "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" |
1934 | "checksum filetime 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a2df5c1a8c4be27e7707789dc42ae65976e60b394afd293d1419ab915833e646" | 1934 | "checksum filetime 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a2df5c1a8c4be27e7707789dc42ae65976e60b394afd293d1419ab915833e646" |
1935 | "checksum flexi_logger 0.10.7 (registry+https://github.com/rust-lang/crates.io-index)" = "617bc8ff0e391c36e197f32c0c449ca1651e5b1b24f41107c6a469948b5038b5" | 1935 | "checksum flexi_logger 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4554f652e4673c25dba4deebbc52d5ceefcb19958eec8a34417af320b8a0746" |
1936 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" | 1936 | "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" |
1937 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" | 1937 | "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" |
1938 | "checksum fsevent 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c4bbbf71584aeed076100b5665ac14e3d85eeb31fdbb45fbd41ef9a682b5ec05" | 1938 | "checksum fsevent 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)" = "c4bbbf71584aeed076100b5665ac14e3d85eeb31fdbb45fbd41ef9a682b5ec05" |
@@ -1950,7 +1950,7 @@ dependencies = [ | |||
1950 | "checksum indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2c60da1c9abea75996b70a931bba6c750730399005b61ccd853cee50ef3d0d0c" | 1950 | "checksum indicatif 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2c60da1c9abea75996b70a931bba6c750730399005b61ccd853cee50ef3d0d0c" |
1951 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" | 1951 | "checksum inotify 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40b54539f3910d6f84fbf9a643efd6e3aa6e4f001426c0329576128255994718" |
1952 | "checksum inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" | 1952 | "checksum inotify-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e74a1aa87c59aeff6ef2cc2fa62d41bc43f54952f55652656b18a02fd5e356c0" |
1953 | "checksum insta 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc3ee8d49a583b9c4ecb1b50777b65eec0a568e49dddfac37109ef320175533" | 1953 | "checksum insta 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0c6c10b8c7e7607bab7cac8f360c111fa3a7afa331dafa2703754b540f5e08f4" |
1954 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" | 1954 | "checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08" |
1955 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" | 1955 | "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" |
1956 | "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" | 1956 | "checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" |
@@ -1961,7 +1961,7 @@ dependencies = [ | |||
1961 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" | 1961 | "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" |
1962 | "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" | 1962 | "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" |
1963 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" | 1963 | "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" |
1964 | "checksum libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)" = "413f3dfc802c5dc91dc570b05125b6cda9855edfaa9825c9849807876376e70e" | 1964 | "checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1" |
1965 | "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e" | 1965 | "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e" |
1966 | "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" | 1966 | "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" |
1967 | "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" | 1967 | "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" |
@@ -1976,7 +1976,7 @@ dependencies = [ | |||
1976 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" | 1976 | "checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919" |
1977 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" | 1977 | "checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88" |
1978 | "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" | 1978 | "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" |
1979 | "checksum notify 4.0.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9cc7ed2bd4b7edad3ee93b659c38e53dabb619f7274e127a0fab054ad2bb998d" | 1979 | "checksum notify 4.0.10 (registry+https://github.com/rust-lang/crates.io-index)" = "abb1581693e44d8a0ec347ef12289625063f52a1dddc3f3c9befd5fc59e88943" |
1980 | "checksum num-derive 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d9fe8fcafd1b86a37ce8a1cfa15ae504817e0c8c2e7ad42767371461ac1d316d" | 1980 | "checksum num-derive 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d9fe8fcafd1b86a37ce8a1cfa15ae504817e0c8c2e7ad42767371461ac1d316d" |
1981 | "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" | 1981 | "checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" |
1982 | "checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" | 1982 | "checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" |
@@ -1994,7 +1994,7 @@ dependencies = [ | |||
1994 | "checksum proptest 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea66c78d75f2c6e9f304269eaef90899798daecc69f1a625d5a3dd793ff3522" | 1994 | "checksum proptest 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea66c78d75f2c6e9f304269eaef90899798daecc69f1a625d5a3dd793ff3522" |
1995 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" | 1995 | "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" |
1996 | "checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" | 1996 | "checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1" |
1997 | "checksum ra_vfs 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d191ef0680eea419a302e0d09a00c00dfed1ec320406813bc100f93d1abe28dc" | 1997 | "checksum ra_vfs 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5978b0ced52f013ce44bfca6ac903141359e7cc3baea462a4a670de9e5087101" |
1998 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" | 1998 | "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" |
1999 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" | 1999 | "checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" |
2000 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" | 2000 | "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" |
@@ -2002,7 +2002,7 @@ dependencies = [ | |||
2002 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" | 2002 | "checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" |
2003 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" | 2003 | "checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" |
2004 | "checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832" | 2004 | "checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832" |
2005 | "checksum rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b7c690732391ae0abafced5015ffb53656abfaec61b342290e5eb56b286a679d" | 2005 | "checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" |
2006 | "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" | 2006 | "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" |
2007 | "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" | 2007 | "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" |
2008 | "checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473" | 2008 | "checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473" |
@@ -2010,11 +2010,11 @@ dependencies = [ | |||
2010 | "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" | 2010 | "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" |
2011 | "checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85" | 2011 | "checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85" |
2012 | "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" | 2012 | "checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" |
2013 | "checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f" | 2013 | "checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f" |
2014 | "checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861" | 2014 | "checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861" |
2015 | "checksum relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7790c7f1cc73d831d28dc5a7deb316a006e7848e6a7f467cdb10a0a9e0fb1c" | 2015 | "checksum relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7790c7f1cc73d831d28dc5a7deb316a006e7848e6a7f467cdb10a0a9e0fb1c" |
2016 | "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" | 2016 | "checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" |
2017 | "checksum ron 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d9cb28ade964585205aaca1f3d41a6297f72e1ad097b49c4bbde033ef86b38d7" | 2017 | "checksum ron 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "17f52a24414403f81528b67488cf8edc4eda977d3af1646bb6b106a600ead78f" |
2018 | "checksum rowan 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74d41f779e2c893339e34bebf035652c58214823cd412550111886c06632f89d" | 2018 | "checksum rowan 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "74d41f779e2c893339e34bebf035652c58214823cd412550111886c06632f89d" |
2019 | "checksum rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "adacaae16d02b6ec37fdc7acfcddf365978de76d1983d3ee22afc260e1ca9619" | 2019 | "checksum rustc-demangle 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "adacaae16d02b6ec37fdc7acfcddf365978de76d1983d3ee22afc260e1ca9619" |
2020 | "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" | 2020 | "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" |
@@ -2027,9 +2027,9 @@ dependencies = [ | |||
2027 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" | 2027 | "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" |
2028 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" | 2028 | "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" |
2029 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" | 2029 | "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" |
2030 | "checksum serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)" = "9f301d728f2b94c9a7691c90f07b0b4e8a4517181d9461be94c04bddeb4bd850" | 2030 | "checksum serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560" |
2031 | "checksum serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)" = "beed18e6f5175aef3ba670e57c60ef3b1b74d250d962a26604bff4c80e970dd4" | 2031 | "checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c" |
2032 | "checksum serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)" = "27dce848e7467aa0e2fcaf0a413641499c0b745452aaca1194d24dedde9e13c9" | 2032 | "checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d" |
2033 | "checksum serde_yaml 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0887a8e097a69559b56aa2526bf7aff7c3048cf627dff781f0b56a6001534593" | 2033 | "checksum serde_yaml 0.8.8 (registry+https://github.com/rust-lang/crates.io-index)" = "0887a8e097a69559b56aa2526bf7aff7c3048cf627dff781f0b56a6001534593" |
2034 | "checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded" | 2034 | "checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded" |
2035 | "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" | 2035 | "checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" |
@@ -2040,7 +2040,7 @@ dependencies = [ | |||
2040 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" | 2040 | "checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" |
2041 | "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" | 2041 | "checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" |
2042 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" | 2042 | "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" |
2043 | "checksum syn 0.15.26 (registry+https://github.com/rust-lang/crates.io-index)" = "f92e629aa1d9c827b2bb8297046c1ccffc57c99b947a680d3ccff1f136a3bee9" | 2043 | "checksum syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)" = "525bd55255f03c816e5d7f615587bd13030c7103354fadb104993dcee6a788ec" |
2044 | "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" | 2044 | "checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" |
2045 | "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a" | 2045 | "checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a" |
2046 | "checksum tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)" = "4b505279e19d8f7d24b1a9dc58327c9c36174b1a2c7ebdeac70792d017cb64f3" | 2046 | "checksum tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)" = "4b505279e19d8f7d24b1a9dc58327c9c36174b1a2c7ebdeac70792d017cb64f3" |
@@ -2061,7 +2061,7 @@ dependencies = [ | |||
2061 | "checksum unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ca47cbb09fb5fcd066b5867d11dc528302fa465277882797d6a836e1ee6f9e" | 2061 | "checksum unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ca47cbb09fb5fcd066b5867d11dc528302fa465277882797d6a836e1ee6f9e" |
2062 | "checksum unic-ucd-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "48f1a08ce0409a9e391b88d1930118eec48af12742fc538bcec55f775865776e" | 2062 | "checksum unic-ucd-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "48f1a08ce0409a9e391b88d1930118eec48af12742fc538bcec55f775865776e" |
2063 | "checksum unic-ucd-version 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1f5e6c6c53c2d0ece4a5964bc55fcff8602153063cb4fab20958ff32998ff6" | 2063 | "checksum unic-ucd-version 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1f5e6c6c53c2d0ece4a5964bc55fcff8602153063cb4fab20958ff32998ff6" |
2064 | "checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90" | 2064 | "checksum unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41d17211f887da8e4a70a45b9536f26fc5de166b81e2d5d80de4a17fd22553bd" |
2065 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" | 2065 | "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" |
2066 | "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" | 2066 | "checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426" |
2067 | "checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1" | 2067 | "checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1" |
diff --git a/crates/gen_lsp_server/src/msg.rs b/crates/gen_lsp_server/src/msg.rs index 02c7a1858..1d39ba4bc 100644 --- a/crates/gen_lsp_server/src/msg.rs +++ b/crates/gen_lsp_server/src/msg.rs | |||
@@ -15,6 +15,24 @@ pub enum RawMessage { | |||
15 | Response(RawResponse), | 15 | Response(RawResponse), |
16 | } | 16 | } |
17 | 17 | ||
18 | impl From<RawRequest> for RawMessage { | ||
19 | fn from(raw: RawRequest) -> RawMessage { | ||
20 | RawMessage::Request(raw) | ||
21 | } | ||
22 | } | ||
23 | |||
24 | impl From<RawNotification> for RawMessage { | ||
25 | fn from(raw: RawNotification) -> RawMessage { | ||
26 | RawMessage::Notification(raw) | ||
27 | } | ||
28 | } | ||
29 | |||
30 | impl From<RawResponse> for RawMessage { | ||
31 | fn from(raw: RawResponse) -> RawMessage { | ||
32 | RawMessage::Response(raw) | ||
33 | } | ||
34 | } | ||
35 | |||
18 | #[derive(Debug, Serialize, Deserialize, Clone)] | 36 | #[derive(Debug, Serialize, Deserialize, Clone)] |
19 | pub struct RawRequest { | 37 | pub struct RawRequest { |
20 | pub id: u64, | 38 | pub id: u64, |
diff --git a/crates/ra_cli/Cargo.toml b/crates/ra_cli/Cargo.toml index 042e42067..ff30bf0b3 100644 --- a/crates/ra_cli/Cargo.toml +++ b/crates/ra_cli/Cargo.toml | |||
@@ -9,7 +9,7 @@ publish = false | |||
9 | clap = "2.32.0" | 9 | clap = "2.32.0" |
10 | failure = "0.1.4" | 10 | failure = "0.1.4" |
11 | join_to_string = "0.1.1" | 11 | join_to_string = "0.1.1" |
12 | flexi_logger = "0.10.0" | 12 | flexi_logger = "0.11.0" |
13 | indicatif = "0.11.0" | 13 | indicatif = "0.11.0" |
14 | 14 | ||
15 | ra_syntax = { path = "../ra_syntax" } | 15 | ra_syntax = { path = "../ra_syntax" } |
diff --git a/crates/ra_hir/Cargo.toml b/crates/ra_hir/Cargo.toml index f2242fe1f..501308acc 100644 --- a/crates/ra_hir/Cargo.toml +++ b/crates/ra_hir/Cargo.toml | |||
@@ -21,5 +21,5 @@ tt = { path = "../ra_tt", package = "ra_tt" } | |||
21 | test_utils = { path = "../test_utils" } | 21 | test_utils = { path = "../test_utils" } |
22 | 22 | ||
23 | [dev-dependencies] | 23 | [dev-dependencies] |
24 | flexi_logger = "0.10.0" | 24 | flexi_logger = "0.11.0" |
25 | insta = "0.6.1" | 25 | insta = "0.7.0" |
diff --git a/crates/ra_hir/src/ty/infer.rs b/crates/ra_hir/src/ty/infer.rs index 5e4d49ffb..268d2c110 100644 --- a/crates/ra_hir/src/ty/infer.rs +++ b/crates/ra_hir/src/ty/infer.rs | |||
@@ -29,6 +29,7 @@ use crate::{ | |||
29 | Function, StructField, Path, Name, | 29 | Function, StructField, Path, Name, |
30 | FnSignature, AdtDef, | 30 | FnSignature, AdtDef, |
31 | HirDatabase, | 31 | HirDatabase, |
32 | ImplItem, | ||
32 | type_ref::{TypeRef, Mutability}, | 33 | type_ref::{TypeRef, Mutability}, |
33 | expr::{Body, Expr, BindingAnnotation, Literal, ExprId, Pat, PatId, UnaryOp, BinaryOp, Statement, FieldPat, self}, | 34 | expr::{Body, Expr, BindingAnnotation, Literal, ExprId, Pat, PatId, UnaryOp, BinaryOp, Statement, FieldPat, self}, |
34 | generics::GenericParams, | 35 | generics::GenericParams, |
@@ -54,6 +55,14 @@ pub fn infer(db: &impl HirDatabase, func: Function) -> Arc<InferenceResult> { | |||
54 | Arc::new(ctx.resolve_all()) | 55 | Arc::new(ctx.resolve_all()) |
55 | } | 56 | } |
56 | 57 | ||
58 | #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] | ||
59 | enum ExprOrPatId { | ||
60 | ExprId(ExprId), | ||
61 | PatId(PatId), | ||
62 | } | ||
63 | |||
64 | impl_froms!(ExprOrPatId: ExprId, PatId); | ||
65 | |||
57 | /// The result of type inference: A mapping from expressions and patterns to types. | 66 | /// The result of type inference: A mapping from expressions and patterns to types. |
58 | #[derive(Clone, PartialEq, Eq, Debug)] | 67 | #[derive(Clone, PartialEq, Eq, Debug)] |
59 | pub struct InferenceResult { | 68 | pub struct InferenceResult { |
@@ -61,6 +70,8 @@ pub struct InferenceResult { | |||
61 | method_resolutions: FxHashMap<ExprId, Function>, | 70 | method_resolutions: FxHashMap<ExprId, Function>, |
62 | /// For each field access expr, records the field it resolves to. | 71 | /// For each field access expr, records the field it resolves to. |
63 | field_resolutions: FxHashMap<ExprId, StructField>, | 72 | field_resolutions: FxHashMap<ExprId, StructField>, |
73 | /// For each associated item record what it resolves to | ||
74 | assoc_resolutions: FxHashMap<ExprOrPatId, ImplItem>, | ||
64 | pub(super) type_of_expr: ArenaMap<ExprId, Ty>, | 75 | pub(super) type_of_expr: ArenaMap<ExprId, Ty>, |
65 | pub(super) type_of_pat: ArenaMap<PatId, Ty>, | 76 | pub(super) type_of_pat: ArenaMap<PatId, Ty>, |
66 | } | 77 | } |
@@ -72,6 +83,12 @@ impl InferenceResult { | |||
72 | pub fn field_resolution(&self, expr: ExprId) -> Option<StructField> { | 83 | pub fn field_resolution(&self, expr: ExprId) -> Option<StructField> { |
73 | self.field_resolutions.get(&expr).map(|it| *it) | 84 | self.field_resolutions.get(&expr).map(|it| *it) |
74 | } | 85 | } |
86 | pub fn assoc_resolutions_for_expr(&self, id: ExprId) -> Option<ImplItem> { | ||
87 | self.assoc_resolutions.get(&id.into()).map(|it| *it) | ||
88 | } | ||
89 | pub fn assoc_resolutions_for_pat(&self, id: PatId) -> Option<ImplItem> { | ||
90 | self.assoc_resolutions.get(&id.into()).map(|it| *it) | ||
91 | } | ||
75 | } | 92 | } |
76 | 93 | ||
77 | impl Index<ExprId> for InferenceResult { | 94 | impl Index<ExprId> for InferenceResult { |
@@ -99,6 +116,7 @@ struct InferenceContext<'a, D: HirDatabase> { | |||
99 | var_unification_table: InPlaceUnificationTable<TypeVarId>, | 116 | var_unification_table: InPlaceUnificationTable<TypeVarId>, |
100 | method_resolutions: FxHashMap<ExprId, Function>, | 117 | method_resolutions: FxHashMap<ExprId, Function>, |
101 | field_resolutions: FxHashMap<ExprId, StructField>, | 118 | field_resolutions: FxHashMap<ExprId, StructField>, |
119 | assoc_resolutions: FxHashMap<ExprOrPatId, ImplItem>, | ||
102 | type_of_expr: ArenaMap<ExprId, Ty>, | 120 | type_of_expr: ArenaMap<ExprId, Ty>, |
103 | type_of_pat: ArenaMap<PatId, Ty>, | 121 | type_of_pat: ArenaMap<PatId, Ty>, |
104 | /// The return type of the function being inferred. | 122 | /// The return type of the function being inferred. |
@@ -110,6 +128,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
110 | InferenceContext { | 128 | InferenceContext { |
111 | method_resolutions: FxHashMap::default(), | 129 | method_resolutions: FxHashMap::default(), |
112 | field_resolutions: FxHashMap::default(), | 130 | field_resolutions: FxHashMap::default(), |
131 | assoc_resolutions: FxHashMap::default(), | ||
113 | type_of_expr: ArenaMap::default(), | 132 | type_of_expr: ArenaMap::default(), |
114 | type_of_pat: ArenaMap::default(), | 133 | type_of_pat: ArenaMap::default(), |
115 | var_unification_table: InPlaceUnificationTable::new(), | 134 | var_unification_table: InPlaceUnificationTable::new(), |
@@ -135,6 +154,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
135 | InferenceResult { | 154 | InferenceResult { |
136 | method_resolutions: self.method_resolutions, | 155 | method_resolutions: self.method_resolutions, |
137 | field_resolutions: self.field_resolutions, | 156 | field_resolutions: self.field_resolutions, |
157 | assoc_resolutions: self.assoc_resolutions, | ||
138 | type_of_expr: expr_types, | 158 | type_of_expr: expr_types, |
139 | type_of_pat: pat_types, | 159 | type_of_pat: pat_types, |
140 | } | 160 | } |
@@ -152,6 +172,10 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
152 | self.field_resolutions.insert(expr, field); | 172 | self.field_resolutions.insert(expr, field); |
153 | } | 173 | } |
154 | 174 | ||
175 | fn write_assoc_resolution(&mut self, id: ExprOrPatId, item: ImplItem) { | ||
176 | self.assoc_resolutions.insert(id, item); | ||
177 | } | ||
178 | |||
155 | fn write_pat_ty(&mut self, pat: PatId, ty: Ty) { | 179 | fn write_pat_ty(&mut self, pat: PatId, ty: Ty) { |
156 | self.type_of_pat.insert(pat, ty); | 180 | self.type_of_pat.insert(pat, ty); |
157 | } | 181 | } |
@@ -341,7 +365,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
341 | }) | 365 | }) |
342 | } | 366 | } |
343 | 367 | ||
344 | fn infer_path_expr(&mut self, resolver: &Resolver, path: &Path) -> Option<Ty> { | 368 | fn infer_path_expr(&mut self, resolver: &Resolver, path: &Path, id: ExprOrPatId) -> Option<Ty> { |
345 | let resolved = resolver.resolve_path_segments(self.db, &path); | 369 | let resolved = resolver.resolve_path_segments(self.db, &path); |
346 | 370 | ||
347 | let (def, remaining_index) = resolved.into_inner(); | 371 | let (def, remaining_index) = resolved.into_inner(); |
@@ -393,26 +417,38 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
393 | // Attempt to find an impl_item for the type which has a name matching | 417 | // Attempt to find an impl_item for the type which has a name matching |
394 | // the current segment | 418 | // the current segment |
395 | log::debug!("looking for path segment: {:?}", segment); | 419 | log::debug!("looking for path segment: {:?}", segment); |
396 | let item: crate::ModuleDef = ty.iterate_impl_items(self.db, |item| match item { | 420 | let item: crate::ModuleDef = ty.iterate_impl_items(self.db, |item| { |
397 | crate::ImplItem::Method(func) => { | 421 | let matching_def: Option<crate::ModuleDef> = match item { |
398 | let sig = func.signature(self.db); | 422 | crate::ImplItem::Method(func) => { |
399 | if segment.name == *sig.name() { | 423 | let sig = func.signature(self.db); |
400 | return Some(func.into()); | 424 | if segment.name == *sig.name() { |
425 | Some(func.into()) | ||
426 | } else { | ||
427 | None | ||
428 | } | ||
401 | } | 429 | } |
402 | None | ||
403 | } | ||
404 | 430 | ||
405 | crate::ImplItem::Const(konst) => { | 431 | crate::ImplItem::Const(konst) => { |
406 | let sig = konst.signature(self.db); | 432 | let sig = konst.signature(self.db); |
407 | if segment.name == *sig.name() { | 433 | if segment.name == *sig.name() { |
408 | return Some(konst.into()); | 434 | Some(konst.into()) |
435 | } else { | ||
436 | None | ||
437 | } | ||
409 | } | 438 | } |
410 | None | ||
411 | } | ||
412 | 439 | ||
413 | // TODO: Resolve associated types | 440 | // TODO: Resolve associated types |
414 | crate::ImplItem::TypeAlias(_) => None, | 441 | crate::ImplItem::TypeAlias(_) => None, |
442 | }; | ||
443 | match matching_def { | ||
444 | Some(_) => { | ||
445 | self.write_assoc_resolution(id, item); | ||
446 | return matching_def; | ||
447 | } | ||
448 | None => None, | ||
449 | } | ||
415 | })?; | 450 | })?; |
451 | |||
416 | resolved = Resolution::Def(item.into()); | 452 | resolved = Resolution::Def(item.into()); |
417 | } | 453 | } |
418 | 454 | ||
@@ -420,7 +456,6 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
420 | Resolution::Def(def) => { | 456 | Resolution::Def(def) => { |
421 | let typable: Option<TypableDef> = def.into(); | 457 | let typable: Option<TypableDef> = def.into(); |
422 | let typable = typable?; | 458 | let typable = typable?; |
423 | |||
424 | let substs = Ty::substs_from_path(self.db, &self.resolver, path, typable); | 459 | let substs = Ty::substs_from_path(self.db, &self.resolver, path, typable); |
425 | let ty = self.db.type_for_def(typable, Namespace::Values).apply_substs(substs); | 460 | let ty = self.db.type_for_def(typable, Namespace::Values).apply_substs(substs); |
426 | let ty = self.insert_type_vars(ty); | 461 | let ty = self.insert_type_vars(ty); |
@@ -572,7 +607,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
572 | Pat::Path(path) => { | 607 | Pat::Path(path) => { |
573 | // TODO use correct resolver for the surrounding expression | 608 | // TODO use correct resolver for the surrounding expression |
574 | let resolver = self.resolver.clone(); | 609 | let resolver = self.resolver.clone(); |
575 | self.infer_path_expr(&resolver, &path).unwrap_or(Ty::Unknown) | 610 | self.infer_path_expr(&resolver, &path, pat.into()).unwrap_or(Ty::Unknown) |
576 | } | 611 | } |
577 | Pat::Bind { mode, name: _name, subpat } => { | 612 | Pat::Bind { mode, name: _name, subpat } => { |
578 | let inner_ty = if let Some(subpat) = subpat { | 613 | let inner_ty = if let Some(subpat) = subpat { |
@@ -782,7 +817,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
782 | Expr::Path(p) => { | 817 | Expr::Path(p) => { |
783 | // TODO this could be more efficient... | 818 | // TODO this could be more efficient... |
784 | let resolver = expr::resolver_for_expr(self.body.clone(), self.db, tgt_expr); | 819 | let resolver = expr::resolver_for_expr(self.body.clone(), self.db, tgt_expr); |
785 | self.infer_path_expr(&resolver, p).unwrap_or(Ty::Unknown) | 820 | self.infer_path_expr(&resolver, p, tgt_expr.into()).unwrap_or(Ty::Unknown) |
786 | } | 821 | } |
787 | Expr::Continue => Ty::Never, | 822 | Expr::Continue => Ty::Never, |
788 | Expr::Break { expr } => { | 823 | Expr::Break { expr } => { |
diff --git a/crates/ra_ide_api/Cargo.toml b/crates/ra_ide_api/Cargo.toml index 1d907bda2..40b7a8d0a 100644 --- a/crates/ra_ide_api/Cargo.toml +++ b/crates/ra_ide_api/Cargo.toml | |||
@@ -27,7 +27,7 @@ test_utils = { path = "../test_utils" } | |||
27 | ra_assists = { path = "../ra_assists" } | 27 | ra_assists = { path = "../ra_assists" } |
28 | 28 | ||
29 | [dev-dependencies] | 29 | [dev-dependencies] |
30 | insta = "0.6.1" | 30 | insta = "0.7.0" |
31 | 31 | ||
32 | [features] | 32 | [features] |
33 | jemalloc = [ "jemallocator", "jemalloc-ctl" ] | 33 | jemalloc = [ "jemallocator", "jemalloc-ctl" ] |
diff --git a/crates/ra_ide_api/src/goto_definition.rs b/crates/ra_ide_api/src/goto_definition.rs index 9ec179593..364263d9b 100644 --- a/crates/ra_ide_api/src/goto_definition.rs +++ b/crates/ra_ide_api/src/goto_definition.rs | |||
@@ -47,9 +47,10 @@ pub(crate) fn reference_definition( | |||
47 | name_ref: &ast::NameRef, | 47 | name_ref: &ast::NameRef, |
48 | ) -> ReferenceResult { | 48 | ) -> ReferenceResult { |
49 | use self::ReferenceResult::*; | 49 | use self::ReferenceResult::*; |
50 | if let Some(function) = | 50 | |
51 | hir::source_binder::function_from_child_node(db, file_id, name_ref.syntax()) | 51 | let function = hir::source_binder::function_from_child_node(db, file_id, name_ref.syntax()); |
52 | { | 52 | |
53 | if let Some(function) = function { | ||
53 | // Check if it is a method | 54 | // Check if it is a method |
54 | if let Some(method_call) = name_ref.syntax().parent().and_then(ast::MethodCallExpr::cast) { | 55 | if let Some(method_call) = name_ref.syntax().parent().and_then(ast::MethodCallExpr::cast) { |
55 | tested_by!(goto_definition_works_for_methods); | 56 | tested_by!(goto_definition_works_for_methods); |
@@ -122,9 +123,29 @@ pub(crate) fn reference_definition( | |||
122 | Some(Resolution::SelfType(_impl_block)) => { | 123 | Some(Resolution::SelfType(_impl_block)) => { |
123 | // TODO: go to the implemented type | 124 | // TODO: go to the implemented type |
124 | } | 125 | } |
125 | None => {} | 126 | None => { |
127 | // If we failed to resolve then check associated items | ||
128 | if let Some(function) = function { | ||
129 | // Should we do this above and then grab path from the PathExpr? | ||
130 | if let Some(path_expr) = | ||
131 | name_ref.syntax().ancestors().find_map(ast::PathExpr::cast) | ||
132 | { | ||
133 | let infer_result = function.infer(db); | ||
134 | let source_map = function.body_source_map(db); | ||
135 | let expr = ast::Expr::cast(path_expr.syntax()).unwrap(); | ||
136 | |||
137 | if let Some(res) = source_map | ||
138 | .node_expr(expr) | ||
139 | .and_then(|it| infer_result.assoc_resolutions_for_expr(it.into())) | ||
140 | { | ||
141 | return Exact(NavigationTarget::from_impl_item(db, res)); | ||
142 | } | ||
143 | } | ||
144 | } | ||
145 | } | ||
126 | } | 146 | } |
127 | } | 147 | } |
148 | |||
128 | // If that fails try the index based approach. | 149 | // If that fails try the index based approach. |
129 | let navs = crate::symbol_index::index_resolve(db, name_ref) | 150 | let navs = crate::symbol_index::index_resolve(db, name_ref) |
130 | .into_iter() | 151 | .into_iter() |
diff --git a/crates/ra_ide_api/src/hover.rs b/crates/ra_ide_api/src/hover.rs index 8ec60090d..bcd052c8b 100644 --- a/crates/ra_ide_api/src/hover.rs +++ b/crates/ra_ide_api/src/hover.rs | |||
@@ -512,4 +512,26 @@ mod tests { | |||
512 | let hover = analysis.hover(position).unwrap().unwrap(); | 512 | let hover = analysis.hover(position).unwrap().unwrap(); |
513 | assert_eq!(trim_markup_opt(hover.info.first()), Some("Thing")); | 513 | assert_eq!(trim_markup_opt(hover.info.first()), Some("Thing")); |
514 | } | 514 | } |
515 | |||
516 | #[test] | ||
517 | fn test_hover_infer_associated_method_exact() { | ||
518 | let (analysis, position) = single_file_with_position( | ||
519 | " | ||
520 | struct Thing { x: u32 } | ||
521 | |||
522 | impl Thing { | ||
523 | fn new() -> Thing { | ||
524 | Thing { x: 0 } | ||
525 | } | ||
526 | } | ||
527 | |||
528 | fn main() { | ||
529 | let foo_test = Thing::new<|>(); | ||
530 | } | ||
531 | ", | ||
532 | ); | ||
533 | let hover = analysis.hover(position).unwrap().unwrap(); | ||
534 | assert_eq!(trim_markup_opt(hover.info.first()), Some("fn new() -> Thing")); | ||
535 | assert_eq!(hover.info.is_exact(), true); | ||
536 | } | ||
515 | } | 537 | } |
diff --git a/crates/ra_ide_api/src/navigation_target.rs b/crates/ra_ide_api/src/navigation_target.rs index 6538081ac..d806cb368 100644 --- a/crates/ra_ide_api/src/navigation_target.rs +++ b/crates/ra_ide_api/src/navigation_target.rs | |||
@@ -3,7 +3,7 @@ use ra_syntax::{ | |||
3 | SyntaxNode, SyntaxNodePtr, AstNode, SmolStr, TextRange, ast, | 3 | SyntaxNode, SyntaxNodePtr, AstNode, SmolStr, TextRange, ast, |
4 | SyntaxKind::{self, NAME}, | 4 | SyntaxKind::{self, NAME}, |
5 | }; | 5 | }; |
6 | use hir::{ModuleSource, FieldSource, Name}; | 6 | use hir::{ModuleSource, FieldSource, Name, ImplItem}; |
7 | 7 | ||
8 | use crate::{FileSymbol, db::RootDatabase}; | 8 | use crate::{FileSymbol, db::RootDatabase}; |
9 | 9 | ||
@@ -174,6 +174,20 @@ impl NavigationTarget { | |||
174 | ) | 174 | ) |
175 | } | 175 | } |
176 | 176 | ||
177 | pub(crate) fn from_impl_item(db: &RootDatabase, impl_item: hir::ImplItem) -> NavigationTarget { | ||
178 | match impl_item { | ||
179 | ImplItem::Method(f) => NavigationTarget::from_function(db, f), | ||
180 | ImplItem::Const(c) => { | ||
181 | let (file_id, node) = c.source(db); | ||
182 | NavigationTarget::from_named(file_id.original_file(db), &*node) | ||
183 | } | ||
184 | ImplItem::TypeAlias(a) => { | ||
185 | let (file_id, node) = a.source(db); | ||
186 | NavigationTarget::from_named(file_id.original_file(db), &*node) | ||
187 | } | ||
188 | } | ||
189 | } | ||
190 | |||
177 | #[cfg(test)] | 191 | #[cfg(test)] |
178 | pub(crate) fn assert_match(&self, expected: &str) { | 192 | pub(crate) fn assert_match(&self, expected: &str) { |
179 | let actual = self.debug_render(); | 193 | let actual = self.debug_render(); |
diff --git a/crates/ra_ide_api/src/symbol_index.rs b/crates/ra_ide_api/src/symbol_index.rs index 414327ac2..94fe1d6d7 100644 --- a/crates/ra_ide_api/src/symbol_index.rs +++ b/crates/ra_ide_api/src/symbol_index.rs | |||
@@ -24,6 +24,7 @@ use std::{ | |||
24 | hash::{Hash, Hasher}, | 24 | hash::{Hash, Hasher}, |
25 | sync::Arc, | 25 | sync::Arc, |
26 | mem, | 26 | mem, |
27 | fmt, | ||
27 | }; | 28 | }; |
28 | 29 | ||
29 | use fst::{self, Streamer}; | 30 | use fst::{self, Streamer}; |
@@ -113,12 +114,18 @@ pub(crate) fn index_resolve(db: &RootDatabase, name_ref: &ast::NameRef) -> Vec<F | |||
113 | crate::symbol_index::world_symbols(db, query) | 114 | crate::symbol_index::world_symbols(db, query) |
114 | } | 115 | } |
115 | 116 | ||
116 | #[derive(Default, Debug)] | 117 | #[derive(Default)] |
117 | pub(crate) struct SymbolIndex { | 118 | pub(crate) struct SymbolIndex { |
118 | symbols: Vec<FileSymbol>, | 119 | symbols: Vec<FileSymbol>, |
119 | map: fst::Map, | 120 | map: fst::Map, |
120 | } | 121 | } |
121 | 122 | ||
123 | impl fmt::Debug for SymbolIndex { | ||
124 | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { | ||
125 | f.debug_struct("SymbolIndex").field("n_symbols", &self.symbols.len()).finish() | ||
126 | } | ||
127 | } | ||
128 | |||
122 | impl PartialEq for SymbolIndex { | 129 | impl PartialEq for SymbolIndex { |
123 | fn eq(&self, other: &SymbolIndex) -> bool { | 130 | fn eq(&self, other: &SymbolIndex) -> bool { |
124 | self.symbols == other.symbols | 131 | self.symbols == other.symbols |
diff --git a/crates/ra_ide_api_light/Cargo.toml b/crates/ra_ide_api_light/Cargo.toml index 29c1f4639..a30833dc3 100644 --- a/crates/ra_ide_api_light/Cargo.toml +++ b/crates/ra_ide_api_light/Cargo.toml | |||
@@ -18,4 +18,4 @@ ra_fmt = { path = "../ra_fmt" } | |||
18 | [dev-dependencies] | 18 | [dev-dependencies] |
19 | test_utils = { path = "../test_utils" } | 19 | test_utils = { path = "../test_utils" } |
20 | proptest = "0.9.0" | 20 | proptest = "0.9.0" |
21 | insta = "0.6.1" | 21 | insta = "0.7.0" |
diff --git a/crates/ra_lsp_server/Cargo.toml b/crates/ra_lsp_server/Cargo.toml index ef6dea393..a36e6b5ae 100644 --- a/crates/ra_lsp_server/Cargo.toml +++ b/crates/ra_lsp_server/Cargo.toml | |||
@@ -12,7 +12,7 @@ failure_derive = "0.1.4" | |||
12 | serde_json = "1.0.34" | 12 | serde_json = "1.0.34" |
13 | serde = "1.0.83" | 13 | serde = "1.0.83" |
14 | crossbeam-channel = "0.3.5" | 14 | crossbeam-channel = "0.3.5" |
15 | flexi_logger = "0.10.0" | 15 | flexi_logger = "0.11.0" |
16 | log = "0.4.3" | 16 | log = "0.4.3" |
17 | url_serde = "0.2.0" | 17 | url_serde = "0.2.0" |
18 | lsp-types = "0.56.0" | 18 | lsp-types = "0.56.0" |
diff --git a/crates/ra_lsp_server/src/init.rs b/crates/ra_lsp_server/src/init.rs new file mode 100644 index 000000000..0b7a47a0b --- /dev/null +++ b/crates/ra_lsp_server/src/init.rs | |||
@@ -0,0 +1,39 @@ | |||
1 | use serde::{Deserialize, Deserializer}; | ||
2 | |||
3 | /// Client provided initialization options | ||
4 | #[derive(Deserialize, Clone, Copy, Debug)] | ||
5 | #[serde(rename_all = "camelCase")] | ||
6 | pub struct InitializationOptions { | ||
7 | /// Whether the client supports our custom highlighting publishing decorations. | ||
8 | /// This is different to the highlightingOn setting, which is whether the user | ||
9 | /// wants our custom highlighting to be used. | ||
10 | /// | ||
11 | /// Defaults to `true` | ||
12 | #[serde(default = "bool_true", deserialize_with = "nullable_bool_true")] | ||
13 | pub publish_decorations: bool, | ||
14 | |||
15 | /// Whether or not the workspace loaded notification should be sent | ||
16 | /// | ||
17 | /// Defaults to `true` | ||
18 | #[serde(default = "bool_true", deserialize_with = "nullable_bool_true")] | ||
19 | pub show_workspace_loaded: bool, | ||
20 | } | ||
21 | |||
22 | impl Default for InitializationOptions { | ||
23 | fn default() -> InitializationOptions { | ||
24 | InitializationOptions { publish_decorations: true, show_workspace_loaded: true } | ||
25 | } | ||
26 | } | ||
27 | |||
28 | fn bool_true() -> bool { | ||
29 | true | ||
30 | } | ||
31 | |||
32 | /// Deserializes a null value to a bool true by default | ||
33 | fn nullable_bool_true<'de, D>(deserializer: D) -> Result<bool, D::Error> | ||
34 | where | ||
35 | D: Deserializer<'de>, | ||
36 | { | ||
37 | let opt = Option::deserialize(deserializer)?; | ||
38 | Ok(opt.unwrap_or(true)) | ||
39 | } | ||
diff --git a/crates/ra_lsp_server/src/lib.rs b/crates/ra_lsp_server/src/lib.rs index 5b5f3b948..59e16a47c 100644 --- a/crates/ra_lsp_server/src/lib.rs +++ b/crates/ra_lsp_server/src/lib.rs | |||
@@ -5,7 +5,8 @@ mod main_loop; | |||
5 | mod markdown; | 5 | mod markdown; |
6 | mod project_model; | 6 | mod project_model; |
7 | pub mod req; | 7 | pub mod req; |
8 | pub mod init; | ||
8 | mod server_world; | 9 | mod server_world; |
9 | 10 | ||
10 | pub type Result<T> = ::std::result::Result<T, ::failure::Error>; | 11 | pub type Result<T> = ::std::result::Result<T, ::failure::Error>; |
11 | pub use crate::{caps::server_capabilities, main_loop::main_loop, main_loop::LspError}; | 12 | pub use crate::{caps::server_capabilities, main_loop::main_loop, main_loop::LspError, init::InitializationOptions}; |
diff --git a/crates/ra_lsp_server/src/main.rs b/crates/ra_lsp_server/src/main.rs index 03f83c7be..5a2905207 100644 --- a/crates/ra_lsp_server/src/main.rs +++ b/crates/ra_lsp_server/src/main.rs | |||
@@ -2,7 +2,7 @@ use serde::Deserialize; | |||
2 | use flexi_logger::{Duplicate, Logger}; | 2 | use flexi_logger::{Duplicate, Logger}; |
3 | use gen_lsp_server::{run_server, stdio_transport}; | 3 | use gen_lsp_server::{run_server, stdio_transport}; |
4 | 4 | ||
5 | use ra_lsp_server::Result; | 5 | use ra_lsp_server::{Result, InitializationOptions}; |
6 | 6 | ||
7 | fn main() -> Result<()> { | 7 | fn main() -> Result<()> { |
8 | ::std::env::set_var("RUST_BACKTRACE", "short"); | 8 | ::std::env::set_var("RUST_BACKTRACE", "short"); |
@@ -24,26 +24,18 @@ fn main() -> Result<()> { | |||
24 | } | 24 | } |
25 | } | 25 | } |
26 | 26 | ||
27 | #[derive(Deserialize)] | ||
28 | #[serde(rename_all = "camelCase")] | ||
29 | struct InitializationOptions { | ||
30 | // Whether the client supports our custom highlighting publishing decorations. | ||
31 | // This is different to the highlightingOn setting, which is whether the user | ||
32 | // wants our custom highlighting to be used. | ||
33 | publish_decorations: Option<bool>, | ||
34 | } | ||
35 | |||
36 | fn main_inner() -> Result<()> { | 27 | fn main_inner() -> Result<()> { |
37 | let (receiver, sender, threads) = stdio_transport(); | 28 | let (receiver, sender, threads) = stdio_transport(); |
38 | let cwd = ::std::env::current_dir()?; | 29 | let cwd = ::std::env::current_dir()?; |
39 | run_server(ra_lsp_server::server_capabilities(), receiver, sender, |params, r, s| { | 30 | run_server(ra_lsp_server::server_capabilities(), receiver, sender, |params, r, s| { |
40 | let root = params.root_uri.and_then(|it| it.to_file_path().ok()).unwrap_or(cwd); | 31 | let root = params.root_uri.and_then(|it| it.to_file_path().ok()).unwrap_or(cwd); |
41 | let supports_decorations = params | 32 | |
33 | let opts = params | ||
42 | .initialization_options | 34 | .initialization_options |
43 | .and_then(|v| InitializationOptions::deserialize(v).ok()) | 35 | .and_then(|v| InitializationOptions::deserialize(v).ok()) |
44 | .and_then(|it| it.publish_decorations) | 36 | .unwrap_or(InitializationOptions::default()); |
45 | == Some(true); | 37 | |
46 | ra_lsp_server::main_loop(false, root, supports_decorations, r, s) | 38 | ra_lsp_server::main_loop(root, opts, r, s) |
47 | })?; | 39 | })?; |
48 | log::info!("shutting down IO..."); | 40 | log::info!("shutting down IO..."); |
49 | threads.join()?; | 41 | threads.join()?; |
diff --git a/crates/ra_lsp_server/src/main_loop.rs b/crates/ra_lsp_server/src/main_loop.rs index ce50fb301..d0c2a95ef 100644 --- a/crates/ra_lsp_server/src/main_loop.rs +++ b/crates/ra_lsp_server/src/main_loop.rs | |||
@@ -22,6 +22,7 @@ use crate::{ | |||
22 | req, | 22 | req, |
23 | server_world::{ServerWorld, ServerWorldState}, | 23 | server_world::{ServerWorld, ServerWorldState}, |
24 | Result, | 24 | Result, |
25 | InitializationOptions, | ||
25 | }; | 26 | }; |
26 | 27 | ||
27 | #[derive(Debug, Fail)] | 28 | #[derive(Debug, Fail)] |
@@ -46,9 +47,8 @@ enum Task { | |||
46 | const THREADPOOL_SIZE: usize = 8; | 47 | const THREADPOOL_SIZE: usize = 8; |
47 | 48 | ||
48 | pub fn main_loop( | 49 | pub fn main_loop( |
49 | internal_mode: bool, | ||
50 | ws_root: PathBuf, | 50 | ws_root: PathBuf, |
51 | supports_decorations: bool, | 51 | options: InitializationOptions, |
52 | msg_receiver: &Receiver<RawMessage>, | 52 | msg_receiver: &Receiver<RawMessage>, |
53 | msg_sender: &Sender<RawMessage>, | 53 | msg_sender: &Sender<RawMessage>, |
54 | ) -> Result<()> { | 54 | ) -> Result<()> { |
@@ -63,6 +63,12 @@ pub fn main_loop( | |||
63 | Ok(ws) => vec![ws], | 63 | Ok(ws) => vec![ws], |
64 | Err(e) => { | 64 | Err(e) => { |
65 | log::error!("loading workspace failed: {}", e); | 65 | log::error!("loading workspace failed: {}", e); |
66 | |||
67 | show_message( | ||
68 | req::MessageType::Error, | ||
69 | format!("rust-analyzer failed to load workspace: {}", e), | ||
70 | msg_sender, | ||
71 | ); | ||
66 | Vec::new() | 72 | Vec::new() |
67 | } | 73 | } |
68 | } | 74 | } |
@@ -75,8 +81,7 @@ pub fn main_loop( | |||
75 | let mut pending_requests = FxHashSet::default(); | 81 | let mut pending_requests = FxHashSet::default(); |
76 | let mut subs = Subscriptions::new(); | 82 | let mut subs = Subscriptions::new(); |
77 | let main_res = main_loop_inner( | 83 | let main_res = main_loop_inner( |
78 | internal_mode, | 84 | options, |
79 | supports_decorations, | ||
80 | &pool, | 85 | &pool, |
81 | msg_sender, | 86 | msg_sender, |
82 | msg_receiver, | 87 | msg_receiver, |
@@ -143,8 +148,7 @@ impl fmt::Debug for Event { | |||
143 | } | 148 | } |
144 | 149 | ||
145 | fn main_loop_inner( | 150 | fn main_loop_inner( |
146 | internal_mode: bool, | 151 | options: InitializationOptions, |
147 | supports_decorations: bool, | ||
148 | pool: &ThreadPool, | 152 | pool: &ThreadPool, |
149 | msg_sender: &Sender<RawMessage>, | 153 | msg_sender: &Sender<RawMessage>, |
150 | msg_receiver: &Receiver<RawMessage>, | 154 | msg_receiver: &Receiver<RawMessage>, |
@@ -158,6 +162,7 @@ fn main_loop_inner( | |||
158 | // time to always have a thread ready to react to input. | 162 | // time to always have a thread ready to react to input. |
159 | let mut in_flight_libraries = 0; | 163 | let mut in_flight_libraries = 0; |
160 | let mut pending_libraries = Vec::new(); | 164 | let mut pending_libraries = Vec::new(); |
165 | let mut send_workspace_notification = true; | ||
161 | 166 | ||
162 | let (libdata_sender, libdata_receiver) = unbounded(); | 167 | let (libdata_sender, libdata_receiver) = unbounded(); |
163 | loop { | 168 | loop { |
@@ -185,7 +190,6 @@ fn main_loop_inner( | |||
185 | state_changed = true; | 190 | state_changed = true; |
186 | } | 191 | } |
187 | Event::Lib(lib) => { | 192 | Event::Lib(lib) => { |
188 | feedback(internal_mode, "library loaded", msg_sender); | ||
189 | state.add_lib(lib); | 193 | state.add_lib(lib); |
190 | in_flight_libraries -= 1; | 194 | in_flight_libraries -= 1; |
191 | } | 195 | } |
@@ -199,7 +203,7 @@ fn main_loop_inner( | |||
199 | Ok((id, ())) => { | 203 | Ok((id, ())) => { |
200 | state.collect_garbage(); | 204 | state.collect_garbage(); |
201 | let resp = RawResponse::ok::<req::CollectGarbage>(id, &()); | 205 | let resp = RawResponse::ok::<req::CollectGarbage>(id, &()); |
202 | msg_sender.send(RawMessage::Response(resp)).unwrap() | 206 | msg_sender.send(resp.into()).unwrap() |
203 | } | 207 | } |
204 | Err(req) => { | 208 | Err(req) => { |
205 | match on_request(state, pending_requests, pool, &task_sender, req)? { | 209 | match on_request(state, pending_requests, pool, &task_sender, req)? { |
@@ -211,7 +215,7 @@ fn main_loop_inner( | |||
211 | ErrorCode::MethodNotFound as i32, | 215 | ErrorCode::MethodNotFound as i32, |
212 | "unknown request".to_string(), | 216 | "unknown request".to_string(), |
213 | ); | 217 | ); |
214 | msg_sender.send(RawMessage::Response(resp)).unwrap() | 218 | msg_sender.send(resp.into()).unwrap() |
215 | } | 219 | } |
216 | } | 220 | } |
217 | } | 221 | } |
@@ -239,15 +243,23 @@ fn main_loop_inner( | |||
239 | }); | 243 | }); |
240 | } | 244 | } |
241 | 245 | ||
242 | if state.roots_to_scan == 0 && pending_libraries.is_empty() && in_flight_libraries == 0 { | 246 | if send_workspace_notification |
243 | feedback(internal_mode, "workspace loaded", msg_sender); | 247 | && state.roots_to_scan == 0 |
248 | && pending_libraries.is_empty() | ||
249 | && in_flight_libraries == 0 | ||
250 | { | ||
251 | if options.show_workspace_loaded { | ||
252 | show_message(req::MessageType::Info, "workspace loaded", msg_sender); | ||
253 | } | ||
254 | // Only send the notification first time | ||
255 | send_workspace_notification = false; | ||
244 | } | 256 | } |
245 | 257 | ||
246 | if state_changed { | 258 | if state_changed { |
247 | update_file_notifications_on_threadpool( | 259 | update_file_notifications_on_threadpool( |
248 | pool, | 260 | pool, |
249 | state.snapshot(), | 261 | state.snapshot(), |
250 | supports_decorations, | 262 | options.publish_decorations, |
251 | task_sender.clone(), | 263 | task_sender.clone(), |
252 | subs.subscriptions(), | 264 | subs.subscriptions(), |
253 | ) | 265 | ) |
@@ -260,11 +272,11 @@ fn on_task(task: Task, msg_sender: &Sender<RawMessage>, pending_requests: &mut F | |||
260 | match task { | 272 | match task { |
261 | Task::Respond(response) => { | 273 | Task::Respond(response) => { |
262 | if pending_requests.remove(&response.id) { | 274 | if pending_requests.remove(&response.id) { |
263 | msg_sender.send(RawMessage::Response(response)).unwrap(); | 275 | msg_sender.send(response.into()).unwrap(); |
264 | } | 276 | } |
265 | } | 277 | } |
266 | Task::Notify(n) => { | 278 | Task::Notify(n) => { |
267 | msg_sender.send(RawMessage::Notification(n)).unwrap(); | 279 | msg_sender.send(n.into()).unwrap(); |
268 | } | 280 | } |
269 | } | 281 | } |
270 | } | 282 | } |
@@ -336,7 +348,7 @@ fn on_notification( | |||
336 | ErrorCode::RequestCanceled as i32, | 348 | ErrorCode::RequestCanceled as i32, |
337 | "canceled by client".to_string(), | 349 | "canceled by client".to_string(), |
338 | ); | 350 | ); |
339 | msg_sender.send(RawMessage::Response(response)).unwrap() | 351 | msg_sender.send(response.into()).unwrap() |
340 | } | 352 | } |
341 | return Ok(()); | 353 | return Ok(()); |
342 | } | 354 | } |
@@ -375,7 +387,7 @@ fn on_notification( | |||
375 | } | 387 | } |
376 | let params = req::PublishDiagnosticsParams { uri, diagnostics: Vec::new() }; | 388 | let params = req::PublishDiagnosticsParams { uri, diagnostics: Vec::new() }; |
377 | let not = RawNotification::new::<req::PublishDiagnostics>(¶ms); | 389 | let not = RawNotification::new::<req::PublishDiagnostics>(¶ms); |
378 | msg_sender.send(RawMessage::Notification(not)).unwrap(); | 390 | msg_sender.send(not.into()).unwrap(); |
379 | return Ok(()); | 391 | return Ok(()); |
380 | } | 392 | } |
381 | Err(not) => not, | 393 | Err(not) => not, |
@@ -496,12 +508,13 @@ fn update_file_notifications_on_threadpool( | |||
496 | }); | 508 | }); |
497 | } | 509 | } |
498 | 510 | ||
499 | fn feedback(intrnal_mode: bool, msg: &str, sender: &Sender<RawMessage>) { | 511 | fn show_message<M: Into<String>>(typ: req::MessageType, msg: M, sender: &Sender<RawMessage>) { |
500 | if !intrnal_mode { | 512 | let not = RawNotification::new::<req::ShowMessage>(&req::ShowMessageParams { |
501 | return; | 513 | typ, |
502 | } | 514 | message: msg.into(), |
503 | let not = RawNotification::new::<req::InternalFeedback>(&msg.to_string()); | 515 | }); |
504 | sender.send(RawMessage::Notification(not)).unwrap(); | 516 | |
517 | sender.send(not.into()).unwrap(); | ||
505 | } | 518 | } |
506 | 519 | ||
507 | fn is_canceled(e: &failure::Error) -> bool { | 520 | fn is_canceled(e: &failure::Error) -> bool { |
diff --git a/crates/ra_lsp_server/src/req.rs b/crates/ra_lsp_server/src/req.rs index 5c589f969..e0571fd78 100644 --- a/crates/ra_lsp_server/src/req.rs +++ b/crates/ra_lsp_server/src/req.rs | |||
@@ -8,7 +8,8 @@ pub use lsp_types::{ | |||
8 | CompletionParams, CompletionResponse, DocumentOnTypeFormattingParams, DocumentSymbolParams, | 8 | CompletionParams, CompletionResponse, DocumentOnTypeFormattingParams, DocumentSymbolParams, |
9 | DocumentSymbolResponse, ExecuteCommandParams, Hover, InitializeResult, | 9 | DocumentSymbolResponse, ExecuteCommandParams, Hover, InitializeResult, |
10 | PublishDiagnosticsParams, ReferenceParams, SignatureHelp, TextDocumentEdit, | 10 | PublishDiagnosticsParams, ReferenceParams, SignatureHelp, TextDocumentEdit, |
11 | TextDocumentPositionParams, TextEdit, WorkspaceEdit, WorkspaceSymbolParams | 11 | TextDocumentPositionParams, TextEdit, WorkspaceEdit, WorkspaceSymbolParams, |
12 | MessageType, ShowMessageParams, | ||
12 | }; | 13 | }; |
13 | 14 | ||
14 | pub enum AnalyzerStatus {} | 15 | pub enum AnalyzerStatus {} |
@@ -171,10 +172,3 @@ pub struct SourceChange { | |||
171 | pub workspace_edit: WorkspaceEdit, | 172 | pub workspace_edit: WorkspaceEdit, |
172 | pub cursor_position: Option<TextDocumentPositionParams>, | 173 | pub cursor_position: Option<TextDocumentPositionParams>, |
173 | } | 174 | } |
174 | |||
175 | pub enum InternalFeedback {} | ||
176 | |||
177 | impl Notification for InternalFeedback { | ||
178 | const METHOD: &'static str = "internalFeedback"; | ||
179 | type Params = String; | ||
180 | } | ||
diff --git a/crates/ra_lsp_server/tests/heavy_tests/main.rs b/crates/ra_lsp_server/tests/heavy_tests/main.rs index 996bf8e01..1c099a78f 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/main.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/main.rs | |||
@@ -31,7 +31,7 @@ version = "0.0.0" | |||
31 | use std::collections::Spam; | 31 | use std::collections::Spam; |
32 | "#, | 32 | "#, |
33 | ); | 33 | ); |
34 | server.wait_for_feedback("workspace loaded"); | 34 | server.wait_for_message("workspace loaded"); |
35 | eprintln!("loading took {:?}", project_start.elapsed()); | 35 | eprintln!("loading took {:?}", project_start.elapsed()); |
36 | let completion_start = Instant::now(); | 36 | let completion_start = Instant::now(); |
37 | let res = server.send_request::<Completion>(CompletionParams { | 37 | let res = server.send_request::<Completion>(CompletionParams { |
@@ -53,7 +53,7 @@ fn foo() { | |||
53 | } | 53 | } |
54 | ", | 54 | ", |
55 | ); | 55 | ); |
56 | server.wait_for_feedback("workspace loaded"); | 56 | server.wait_for_message("workspace loaded"); |
57 | server.request::<Runnables>( | 57 | server.request::<Runnables>( |
58 | RunnablesParams { text_document: server.doc_id("lib.rs"), position: None }, | 58 | RunnablesParams { text_document: server.doc_id("lib.rs"), position: None }, |
59 | json!([ | 59 | json!([ |
@@ -107,7 +107,7 @@ pub fn foo() {} | |||
107 | fn test_eggs() {} | 107 | fn test_eggs() {} |
108 | "#, | 108 | "#, |
109 | ); | 109 | ); |
110 | server.wait_for_feedback("workspace loaded"); | 110 | server.wait_for_message("workspace loaded"); |
111 | server.request::<Runnables>( | 111 | server.request::<Runnables>( |
112 | RunnablesParams { | 112 | RunnablesParams { |
113 | text_document: server.doc_id("tests/spam.rs"), | 113 | text_document: server.doc_id("tests/spam.rs"), |
@@ -167,7 +167,7 @@ fn main() { | |||
167 | pub use std::collections::HashMap; | 167 | pub use std::collections::HashMap; |
168 | "#, | 168 | "#, |
169 | ); | 169 | ); |
170 | server.wait_for_feedback("workspace loaded"); | 170 | server.wait_for_message("workspace loaded"); |
171 | 171 | ||
172 | server.request::<Formatting>( | 172 | server.request::<Formatting>( |
173 | DocumentFormattingParams { | 173 | DocumentFormattingParams { |
@@ -216,7 +216,7 @@ mod bar; | |||
216 | fn main() {} | 216 | fn main() {} |
217 | "#, | 217 | "#, |
218 | ); | 218 | ); |
219 | server.wait_for_feedback("workspace loaded"); | 219 | server.wait_for_message("workspace loaded"); |
220 | let empty_context = || CodeActionContext { diagnostics: Vec::new(), only: None }; | 220 | let empty_context = || CodeActionContext { diagnostics: Vec::new(), only: None }; |
221 | server.request::<CodeActionRequest>( | 221 | server.request::<CodeActionRequest>( |
222 | CodeActionParams { | 222 | CodeActionParams { |
diff --git a/crates/ra_lsp_server/tests/heavy_tests/support.rs b/crates/ra_lsp_server/tests/heavy_tests/support.rs index f4e7eaf75..8bfc8d622 100644 --- a/crates/ra_lsp_server/tests/heavy_tests/support.rs +++ b/crates/ra_lsp_server/tests/heavy_tests/support.rs | |||
@@ -13,6 +13,7 @@ use lsp_types::{ | |||
13 | notification::DidOpenTextDocument, | 13 | notification::DidOpenTextDocument, |
14 | request::{Request, Shutdown}, | 14 | request::{Request, Shutdown}, |
15 | DidOpenTextDocumentParams, TextDocumentIdentifier, TextDocumentItem, Url, | 15 | DidOpenTextDocumentParams, TextDocumentIdentifier, TextDocumentItem, Url, |
16 | notification::{Notification, ShowMessage}, | ||
16 | }; | 17 | }; |
17 | use serde::Serialize; | 18 | use serde::Serialize; |
18 | use serde_json::{to_string_pretty, Value}; | 19 | use serde_json::{to_string_pretty, Value}; |
@@ -22,6 +23,7 @@ use test_utils::{parse_fixture, find_mismatch}; | |||
22 | 23 | ||
23 | use ra_lsp_server::{ | 24 | use ra_lsp_server::{ |
24 | main_loop, req, | 25 | main_loop, req, |
26 | InitializationOptions, | ||
25 | }; | 27 | }; |
26 | 28 | ||
27 | pub fn project(fixture: &str) -> Server { | 29 | pub fn project(fixture: &str) -> Server { |
@@ -56,7 +58,13 @@ impl Server { | |||
56 | "test server", | 58 | "test server", |
57 | 128, | 59 | 128, |
58 | move |mut msg_receiver, mut msg_sender| { | 60 | move |mut msg_receiver, mut msg_sender| { |
59 | main_loop(true, path, true, &mut msg_receiver, &mut msg_sender).unwrap() | 61 | main_loop( |
62 | path, | ||
63 | InitializationOptions::default(), | ||
64 | &mut msg_receiver, | ||
65 | &mut msg_sender, | ||
66 | ) | ||
67 | .unwrap() | ||
60 | }, | 68 | }, |
61 | ); | 69 | ); |
62 | let res = Server { | 70 | let res = Server { |
@@ -133,13 +141,14 @@ impl Server { | |||
133 | } | 141 | } |
134 | panic!("no response"); | 142 | panic!("no response"); |
135 | } | 143 | } |
136 | pub fn wait_for_feedback(&self, feedback: &str) { | 144 | pub fn wait_for_message(&self, message: &str) { |
137 | self.wait_for_feedback_n(feedback, 1) | 145 | self.wait_for_message_n(message, 1) |
138 | } | 146 | } |
139 | pub fn wait_for_feedback_n(&self, feedback: &str, n: usize) { | 147 | pub fn wait_for_message_n(&self, message: &str, n: usize) { |
140 | let f = |msg: &RawMessage| match msg { | 148 | let f = |msg: &RawMessage| match msg { |
141 | RawMessage::Notification(n) if n.method == "internalFeedback" => { | 149 | RawMessage::Notification(n) if n.method == ShowMessage::METHOD => { |
142 | return n.clone().cast::<req::InternalFeedback>().unwrap() == feedback; | 150 | let msg = n.clone().cast::<req::ShowMessage>().unwrap(); |
151 | msg.message == message | ||
143 | } | 152 | } |
144 | _ => false, | 153 | _ => false, |
145 | }; | 154 | }; |
diff --git a/crates/ra_parser/src/grammar/expressions/atom.rs b/crates/ra_parser/src/grammar/expressions/atom.rs index e74305b6a..9f282c74d 100644 --- a/crates/ra_parser/src/grammar/expressions/atom.rs +++ b/crates/ra_parser/src/grammar/expressions/atom.rs | |||
@@ -281,10 +281,16 @@ fn for_expr(p: &mut Parser, m: Option<Marker>) -> CompletedMarker { | |||
281 | 281 | ||
282 | // test cond | 282 | // test cond |
283 | // fn foo() { if let Some(_) = None {} } | 283 | // fn foo() { if let Some(_) = None {} } |
284 | // fn bar() { | ||
285 | // if let Some(_) | Some(_) = None {} | ||
286 | // if let | Some(_) = None {} | ||
287 | // while let Some(_) | Some(_) = None {} | ||
288 | // while let | Some(_) = None {} | ||
289 | // } | ||
284 | fn cond(p: &mut Parser) { | 290 | fn cond(p: &mut Parser) { |
285 | let m = p.start(); | 291 | let m = p.start(); |
286 | if p.eat(LET_KW) { | 292 | if p.eat(LET_KW) { |
287 | patterns::pattern(p); | 293 | patterns::pattern_list(p); |
288 | p.expect(EQ); | 294 | p.expect(EQ); |
289 | } | 295 | } |
290 | expr_no_struct(p); | 296 | expr_no_struct(p); |
@@ -376,11 +382,7 @@ pub(crate) fn match_arm_list(p: &mut Parser) { | |||
376 | // } | 382 | // } |
377 | fn match_arm(p: &mut Parser) -> BlockLike { | 383 | fn match_arm(p: &mut Parser) -> BlockLike { |
378 | let m = p.start(); | 384 | let m = p.start(); |
379 | p.eat(PIPE); | 385 | patterns::pattern_list_r(p, TokenSet::empty()); |
380 | patterns::pattern_r(p, TokenSet::empty()); | ||
381 | while p.eat(PIPE) { | ||
382 | patterns::pattern(p); | ||
383 | } | ||
384 | if p.at(IF_KW) { | 386 | if p.at(IF_KW) { |
385 | match_guard(p); | 387 | match_guard(p); |
386 | } | 388 | } |
diff --git a/crates/ra_parser/src/grammar/patterns.rs b/crates/ra_parser/src/grammar/patterns.rs index 9d7da639d..befe6687d 100644 --- a/crates/ra_parser/src/grammar/patterns.rs +++ b/crates/ra_parser/src/grammar/patterns.rs | |||
@@ -8,6 +8,22 @@ pub(super) fn pattern(p: &mut Parser) { | |||
8 | pattern_r(p, PAT_RECOVERY_SET) | 8 | pattern_r(p, PAT_RECOVERY_SET) |
9 | } | 9 | } |
10 | 10 | ||
11 | /// Parses a pattern list separated by pipes `|` | ||
12 | pub(super) fn pattern_list(p: &mut Parser) { | ||
13 | pattern_list_r(p, PAT_RECOVERY_SET) | ||
14 | } | ||
15 | |||
16 | /// Parses a pattern list separated by pipes `|` | ||
17 | /// using the given `recovery_set` | ||
18 | pub(super) fn pattern_list_r(p: &mut Parser, recovery_set: TokenSet) { | ||
19 | p.eat(PIPE); | ||
20 | pattern_r(p, recovery_set); | ||
21 | |||
22 | while p.eat(PIPE) { | ||
23 | pattern_r(p, recovery_set); | ||
24 | } | ||
25 | } | ||
26 | |||
11 | pub(super) fn pattern_r(p: &mut Parser, recovery_set: TokenSet) { | 27 | pub(super) fn pattern_r(p: &mut Parser, recovery_set: TokenSet) { |
12 | if let Some(lhs) = atom_pat(p, recovery_set) { | 28 | if let Some(lhs) = atom_pat(p, recovery_set) { |
13 | // test range_pat | 29 | // test range_pat |
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs index fdb37ee6f..2552a2621 100644 --- a/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.rs | |||
@@ -1 +1,7 @@ | |||
1 | fn foo() { if let Some(_) = None {} } | 1 | fn foo() { if let Some(_) = None {} } |
2 | fn bar() { | ||
3 | if let Some(_) | Some(_) = None {} | ||
4 | if let | Some(_) = None {} | ||
5 | while let Some(_) | Some(_) = None {} | ||
6 | while let | Some(_) = None {} | ||
7 | } | ||
diff --git a/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt index 641a09fff..6dea1848b 100644 --- a/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt +++ b/crates/ra_syntax/tests/data/parser/inline/ok/0030_cond.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | SOURCE_FILE@[0; 38) | 1 | SOURCE_FILE@[0; 197) |
2 | FN_DEF@[0; 37) | 2 | FN_DEF@[0; 37) |
3 | FN_KW@[0; 2) | 3 | FN_KW@[0; 2) |
4 | WHITESPACE@[2; 3) | 4 | WHITESPACE@[2; 3) |
@@ -41,3 +41,160 @@ SOURCE_FILE@[0; 38) | |||
41 | WHITESPACE@[35; 36) | 41 | WHITESPACE@[35; 36) |
42 | R_CURLY@[36; 37) | 42 | R_CURLY@[36; 37) |
43 | WHITESPACE@[37; 38) | 43 | WHITESPACE@[37; 38) |
44 | FN_DEF@[38; 196) | ||
45 | FN_KW@[38; 40) | ||
46 | WHITESPACE@[40; 41) | ||
47 | NAME@[41; 44) | ||
48 | IDENT@[41; 44) "bar" | ||
49 | PARAM_LIST@[44; 46) | ||
50 | L_PAREN@[44; 45) | ||
51 | R_PAREN@[45; 46) | ||
52 | WHITESPACE@[46; 47) | ||
53 | BLOCK@[47; 196) | ||
54 | L_CURLY@[47; 48) | ||
55 | WHITESPACE@[48; 53) | ||
56 | EXPR_STMT@[53; 87) | ||
57 | IF_EXPR@[53; 87) | ||
58 | IF_KW@[53; 55) | ||
59 | WHITESPACE@[55; 56) | ||
60 | CONDITION@[56; 84) | ||
61 | LET_KW@[56; 59) | ||
62 | WHITESPACE@[59; 60) | ||
63 | TUPLE_STRUCT_PAT@[60; 67) | ||
64 | PATH@[60; 64) | ||
65 | PATH_SEGMENT@[60; 64) | ||
66 | NAME_REF@[60; 64) | ||
67 | IDENT@[60; 64) "Some" | ||
68 | L_PAREN@[64; 65) | ||
69 | PLACEHOLDER_PAT@[65; 66) | ||
70 | UNDERSCORE@[65; 66) | ||
71 | R_PAREN@[66; 67) | ||
72 | WHITESPACE@[67; 68) | ||
73 | PIPE@[68; 69) | ||
74 | WHITESPACE@[69; 70) | ||
75 | TUPLE_STRUCT_PAT@[70; 77) | ||
76 | PATH@[70; 74) | ||
77 | PATH_SEGMENT@[70; 74) | ||
78 | NAME_REF@[70; 74) | ||
79 | IDENT@[70; 74) "Some" | ||
80 | L_PAREN@[74; 75) | ||
81 | PLACEHOLDER_PAT@[75; 76) | ||
82 | UNDERSCORE@[75; 76) | ||
83 | R_PAREN@[76; 77) | ||
84 | WHITESPACE@[77; 78) | ||
85 | EQ@[78; 79) | ||
86 | WHITESPACE@[79; 80) | ||
87 | PATH_EXPR@[80; 84) | ||
88 | PATH@[80; 84) | ||
89 | PATH_SEGMENT@[80; 84) | ||
90 | NAME_REF@[80; 84) | ||
91 | IDENT@[80; 84) "None" | ||
92 | WHITESPACE@[84; 85) | ||
93 | BLOCK@[85; 87) | ||
94 | L_CURLY@[85; 86) | ||
95 | R_CURLY@[86; 87) | ||
96 | WHITESPACE@[87; 92) | ||
97 | EXPR_STMT@[92; 118) | ||
98 | IF_EXPR@[92; 118) | ||
99 | IF_KW@[92; 94) | ||
100 | WHITESPACE@[94; 95) | ||
101 | CONDITION@[95; 115) | ||
102 | LET_KW@[95; 98) | ||
103 | WHITESPACE@[98; 99) | ||
104 | PIPE@[99; 100) | ||
105 | WHITESPACE@[100; 101) | ||
106 | TUPLE_STRUCT_PAT@[101; 108) | ||
107 | PATH@[101; 105) | ||
108 | PATH_SEGMENT@[101; 105) | ||
109 | NAME_REF@[101; 105) | ||
110 | IDENT@[101; 105) "Some" | ||
111 | L_PAREN@[105; 106) | ||
112 | PLACEHOLDER_PAT@[106; 107) | ||
113 | UNDERSCORE@[106; 107) | ||
114 | R_PAREN@[107; 108) | ||
115 | WHITESPACE@[108; 109) | ||
116 | EQ@[109; 110) | ||
117 | WHITESPACE@[110; 111) | ||
118 | PATH_EXPR@[111; 115) | ||
119 | PATH@[111; 115) | ||
120 | PATH_SEGMENT@[111; 115) | ||
121 | NAME_REF@[111; 115) | ||
122 | IDENT@[111; 115) "None" | ||
123 | WHITESPACE@[115; 116) | ||
124 | BLOCK@[116; 118) | ||
125 | L_CURLY@[116; 117) | ||
126 | R_CURLY@[117; 118) | ||
127 | WHITESPACE@[118; 123) | ||
128 | EXPR_STMT@[123; 160) | ||
129 | WHILE_EXPR@[123; 160) | ||
130 | WHILE_KW@[123; 128) | ||
131 | WHITESPACE@[128; 129) | ||
132 | CONDITION@[129; 157) | ||
133 | LET_KW@[129; 132) | ||
134 | WHITESPACE@[132; 133) | ||
135 | TUPLE_STRUCT_PAT@[133; 140) | ||
136 | PATH@[133; 137) | ||
137 | PATH_SEGMENT@[133; 137) | ||
138 | NAME_REF@[133; 137) | ||
139 | IDENT@[133; 137) "Some" | ||
140 | L_PAREN@[137; 138) | ||
141 | PLACEHOLDER_PAT@[138; 139) | ||
142 | UNDERSCORE@[138; 139) | ||
143 | R_PAREN@[139; 140) | ||
144 | WHITESPACE@[140; 141) | ||
145 | PIPE@[141; 142) | ||
146 | WHITESPACE@[142; 143) | ||
147 | TUPLE_STRUCT_PAT@[143; 150) | ||
148 | PATH@[143; 147) | ||
149 | PATH_SEGMENT@[143; 147) | ||
150 | NAME_REF@[143; 147) | ||
151 | IDENT@[143; 147) "Some" | ||
152 | L_PAREN@[147; 148) | ||
153 | PLACEHOLDER_PAT@[148; 149) | ||
154 | UNDERSCORE@[148; 149) | ||
155 | R_PAREN@[149; 150) | ||
156 | WHITESPACE@[150; 151) | ||
157 | EQ@[151; 152) | ||
158 | WHITESPACE@[152; 153) | ||
159 | PATH_EXPR@[153; 157) | ||
160 | PATH@[153; 157) | ||
161 | PATH_SEGMENT@[153; 157) | ||
162 | NAME_REF@[153; 157) | ||
163 | IDENT@[153; 157) "None" | ||
164 | WHITESPACE@[157; 158) | ||
165 | BLOCK@[158; 160) | ||
166 | L_CURLY@[158; 159) | ||
167 | R_CURLY@[159; 160) | ||
168 | WHITESPACE@[160; 165) | ||
169 | WHILE_EXPR@[165; 194) | ||
170 | WHILE_KW@[165; 170) | ||
171 | WHITESPACE@[170; 171) | ||
172 | CONDITION@[171; 191) | ||
173 | LET_KW@[171; 174) | ||
174 | WHITESPACE@[174; 175) | ||
175 | PIPE@[175; 176) | ||
176 | WHITESPACE@[176; 177) | ||
177 | TUPLE_STRUCT_PAT@[177; 184) | ||
178 | PATH@[177; 181) | ||
179 | PATH_SEGMENT@[177; 181) | ||
180 | NAME_REF@[177; 181) | ||
181 | IDENT@[177; 181) "Some" | ||
182 | L_PAREN@[181; 182) | ||
183 | PLACEHOLDER_PAT@[182; 183) | ||
184 | UNDERSCORE@[182; 183) | ||
185 | R_PAREN@[183; 184) | ||
186 | WHITESPACE@[184; 185) | ||
187 | EQ@[185; 186) | ||
188 | WHITESPACE@[186; 187) | ||
189 | PATH_EXPR@[187; 191) | ||
190 | PATH@[187; 191) | ||
191 | PATH_SEGMENT@[187; 191) | ||
192 | NAME_REF@[187; 191) | ||
193 | IDENT@[187; 191) "None" | ||
194 | WHITESPACE@[191; 192) | ||
195 | BLOCK@[192; 194) | ||
196 | L_CURLY@[192; 193) | ||
197 | R_CURLY@[193; 194) | ||
198 | WHITESPACE@[194; 195) | ||
199 | R_CURLY@[195; 196) | ||
200 | WHITESPACE@[196; 197) | ||
diff --git a/editors/code/package.json b/editors/code/package.json index fda411810..47eaac878 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -150,6 +150,11 @@ | |||
150 | "default": false, | 150 | "default": false, |
151 | "description": "Highlight Rust code (overrides built-in syntax highlighting)" | 151 | "description": "Highlight Rust code (overrides built-in syntax highlighting)" |
152 | }, | 152 | }, |
153 | "rust-analyzer.showWorkspaceLoadedNotification": { | ||
154 | "type": "boolean", | ||
155 | "default": true, | ||
156 | "description": "Show notification when workspace was loaded" | ||
157 | }, | ||
153 | "rust-analyzer.enableEnhancedTyping": { | 158 | "rust-analyzer.enableEnhancedTyping": { |
154 | "type": "boolean", | 159 | "type": "boolean", |
155 | "default": true, | 160 | "default": true, |
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 4e353798c..afc5cc6af 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -8,6 +8,7 @@ export class Config { | |||
8 | public highlightingOn = true; | 8 | public highlightingOn = true; |
9 | public enableEnhancedTyping = true; | 9 | public enableEnhancedTyping = true; |
10 | public raLspServerPath = RA_LSP_DEBUG || 'ra_lsp_server'; | 10 | public raLspServerPath = RA_LSP_DEBUG || 'ra_lsp_server'; |
11 | public showWorkspaceLoadedNotification = true; | ||
11 | 12 | ||
12 | private prevEnhancedTyping: null | boolean = null; | 13 | private prevEnhancedTyping: null | boolean = null; |
13 | 14 | ||
@@ -24,6 +25,12 @@ export class Config { | |||
24 | this.highlightingOn = config.get('highlightingOn') as boolean; | 25 | this.highlightingOn = config.get('highlightingOn') as boolean; |
25 | } | 26 | } |
26 | 27 | ||
28 | if (config.has('showWorkspaceLoadedNotification')) { | ||
29 | this.showWorkspaceLoadedNotification = config.get( | ||
30 | 'showWorkspaceLoadedNotification' | ||
31 | ) as boolean; | ||
32 | } | ||
33 | |||
27 | if (!this.highlightingOn && Server) { | 34 | if (!this.highlightingOn && Server) { |
28 | Server.highlighter.removeHighlights(); | 35 | Server.highlighter.removeHighlights(); |
29 | } | 36 | } |
diff --git a/editors/code/src/server.ts b/editors/code/src/server.ts index 9ead87fae..50461b0c6 100644 --- a/editors/code/src/server.ts +++ b/editors/code/src/server.ts | |||
@@ -26,7 +26,9 @@ export class Server { | |||
26 | const clientOptions: lc.LanguageClientOptions = { | 26 | const clientOptions: lc.LanguageClientOptions = { |
27 | documentSelector: [{ scheme: 'file', language: 'rust' }], | 27 | documentSelector: [{ scheme: 'file', language: 'rust' }], |
28 | initializationOptions: { | 28 | initializationOptions: { |
29 | publishDecorations: true | 29 | publishDecorations: true, |
30 | showWorkspaceLoaded: | ||
31 | Server.config.showWorkspaceLoadedNotification | ||
30 | }, | 32 | }, |
31 | traceOutputChannel | 33 | traceOutputChannel |
32 | }; | 34 | }; |