aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock358
-rw-r--r--crates/ra_lsp_server/Cargo.toml2
-rw-r--r--crates/ra_vfs/Cargo.toml11
-rw-r--r--crates/ra_vfs/src/arena.rs48
-rw-r--r--crates/ra_vfs/src/io.rs72
-rw-r--r--crates/ra_vfs/src/lib.rs128
6 files changed, 452 insertions, 167 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 522550eb5..38307ff69 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3,7 +3,7 @@ name = "aho-corasick"
3version = "0.6.9" 3version = "0.6.9"
4source = "registry+https://github.com/rust-lang/crates.io-index" 4source = "registry+https://github.com/rust-lang/crates.io-index"
5dependencies = [ 5dependencies = [
6 "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 6 "memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
7] 7]
8 8
9[[package]] 9[[package]]
@@ -21,10 +21,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
21 21
22[[package]] 22[[package]]
23name = "arrayvec" 23name = "arrayvec"
24version = "0.4.7" 24version = "0.4.9"
25source = "registry+https://github.com/rust-lang/crates.io-index" 25source = "registry+https://github.com/rust-lang/crates.io-index"
26dependencies = [ 26dependencies = [
27 "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 27 "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
28] 28]
29 29
30[[package]] 30[[package]]
@@ -32,30 +32,36 @@ name = "atty"
32version = "0.2.11" 32version = "0.2.11"
33source = "registry+https://github.com/rust-lang/crates.io-index" 33source = "registry+https://github.com/rust-lang/crates.io-index"
34dependencies = [ 34dependencies = [
35 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 35 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
36 "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)", 36 "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
37 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 37 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
38] 38]
39 39
40[[package]] 40[[package]]
41name = "autocfg"
42version = "0.1.1"
43source = "registry+https://github.com/rust-lang/crates.io-index"
44
45[[package]]
41name = "backtrace" 46name = "backtrace"
42version = "0.3.9" 47version = "0.3.13"
43source = "registry+https://github.com/rust-lang/crates.io-index" 48source = "registry+https://github.com/rust-lang/crates.io-index"
44dependencies = [ 49dependencies = [
45 "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", 50 "autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
51 "backtrace-sys 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
46 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 52 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
47 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 53 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
48 "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", 54 "rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
49 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 55 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
50] 56]
51 57
52[[package]] 58[[package]]
53name = "backtrace-sys" 59name = "backtrace-sys"
54version = "0.1.24" 60version = "0.1.26"
55source = "registry+https://github.com/rust-lang/crates.io-index" 61source = "registry+https://github.com/rust-lang/crates.io-index"
56dependencies = [ 62dependencies = [
57 "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", 63 "cc 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
58 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 64 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
59] 65]
60 66
61[[package]] 67[[package]]
@@ -93,19 +99,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
93 99
94[[package]] 100[[package]]
95name = "cargo_metadata" 101name = "cargo_metadata"
96version = "0.6.1" 102version = "0.6.4"
97source = "registry+https://github.com/rust-lang/crates.io-index" 103source = "registry+https://github.com/rust-lang/crates.io-index"
98dependencies = [ 104dependencies = [
99 "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", 105 "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
100 "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", 106 "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
101 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 107 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
102 "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 108 "serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
103 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 109 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
104] 110]
105 111
106[[package]] 112[[package]]
107name = "cc" 113name = "cc"
108version = "1.0.25" 114version = "1.0.27"
109source = "registry+https://github.com/rust-lang/crates.io-index" 115source = "registry+https://github.com/rust-lang/crates.io-index"
110 116
111[[package]] 117[[package]]
@@ -120,7 +126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
120dependencies = [ 126dependencies = [
121 "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", 127 "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
122 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 128 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
123 "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 129 "time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
124] 130]
125 131
126[[package]] 132[[package]]
@@ -150,11 +156,11 @@ name = "crossbeam-channel"
150version = "0.2.6" 156version = "0.2.6"
151source = "registry+https://github.com/rust-lang/crates.io-index" 157source = "registry+https://github.com/rust-lang/crates.io-index"
152dependencies = [ 158dependencies = [
153 "crossbeam-epoch 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", 159 "crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
154 "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 160 "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
155 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 161 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
156 "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 162 "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
157 "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 163 "smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
158] 164]
159 165
160[[package]] 166[[package]]
@@ -171,23 +177,23 @@ name = "crossbeam-epoch"
171version = "0.3.1" 177version = "0.3.1"
172source = "registry+https://github.com/rust-lang/crates.io-index" 178source = "registry+https://github.com/rust-lang/crates.io-index"
173dependencies = [ 179dependencies = [
174 "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 180 "arrayvec 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
175 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 181 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
176 "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 182 "crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
177 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 183 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
178 "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 184 "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
179 "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)", 185 "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
180 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 186 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
181] 187]
182 188
183[[package]] 189[[package]]
184name = "crossbeam-epoch" 190name = "crossbeam-epoch"
185version = "0.6.0" 191version = "0.6.1"
186source = "registry+https://github.com/rust-lang/crates.io-index" 192source = "registry+https://github.com/rust-lang/crates.io-index"
187dependencies = [ 193dependencies = [
188 "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 194 "arrayvec 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
189 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 195 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
190 "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 196 "crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
191 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 197 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
192 "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 198 "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
193 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 199 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -207,13 +213,21 @@ version = "0.5.0"
207source = "registry+https://github.com/rust-lang/crates.io-index" 213source = "registry+https://github.com/rust-lang/crates.io-index"
208 214
209[[package]] 215[[package]]
216name = "crossbeam-utils"
217version = "0.6.3"
218source = "registry+https://github.com/rust-lang/crates.io-index"
219dependencies = [
220 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
221]
222
223[[package]]
210name = "derive-new" 224name = "derive-new"
211version = "0.5.6" 225version = "0.5.6"
212source = "registry+https://github.com/rust-lang/crates.io-index" 226source = "registry+https://github.com/rust-lang/crates.io-index"
213dependencies = [ 227dependencies = [
214 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 228 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
215 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 229 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
216 "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", 230 "syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)",
217] 231]
218 232
219[[package]] 233[[package]]
@@ -249,7 +263,7 @@ name = "error-chain"
249version = "0.12.0" 263version = "0.12.0"
250source = "registry+https://github.com/rust-lang/crates.io-index" 264source = "registry+https://github.com/rust-lang/crates.io-index"
251dependencies = [ 265dependencies = [
252 "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 266 "backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
253] 267]
254 268
255[[package]] 269[[package]]
@@ -257,7 +271,7 @@ name = "failure"
257version = "0.1.3" 271version = "0.1.3"
258source = "registry+https://github.com/rust-lang/crates.io-index" 272source = "registry+https://github.com/rust-lang/crates.io-index"
259dependencies = [ 273dependencies = [
260 "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", 274 "backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
261 "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 275 "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
262] 276]
263 277
@@ -266,9 +280,9 @@ name = "failure_derive"
266version = "0.1.3" 280version = "0.1.3"
267source = "registry+https://github.com/rust-lang/crates.io-index" 281source = "registry+https://github.com/rust-lang/crates.io-index"
268dependencies = [ 282dependencies = [
269 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 283 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
270 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 284 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
271 "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", 285 "syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)",
272 "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", 286 "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
273] 287]
274 288
@@ -279,18 +293,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
279 293
280[[package]] 294[[package]]
281name = "flexi_logger" 295name = "flexi_logger"
282version = "0.10.0" 296version = "0.10.3"
283source = "registry+https://github.com/rust-lang/crates.io-index" 297source = "registry+https://github.com/rust-lang/crates.io-index"
284dependencies = [ 298dependencies = [
285 "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 299 "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
286 "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", 300 "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
287 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 301 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
288 "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 302 "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
289] 303]
290 304
291[[package]] 305[[package]]
292name = "fst" 306name = "fst"
293version = "0.3.2" 307version = "0.3.3"
294source = "registry+https://github.com/rust-lang/crates.io-index" 308source = "registry+https://github.com/rust-lang/crates.io-index"
295dependencies = [ 309dependencies = [
296 "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)", 310 "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -319,9 +333,9 @@ dependencies = [
319 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 333 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
320 "languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", 334 "languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)",
321 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 335 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
322 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 336 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
323 "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 337 "serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
324 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 338 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
325] 339]
326 340
327[[package]] 341[[package]]
@@ -339,7 +353,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
339 353
340[[package]] 354[[package]]
341name = "heck" 355name = "heck"
342version = "0.3.0" 356version = "0.3.1"
343source = "registry+https://github.com/rust-lang/crates.io-index" 357source = "registry+https://github.com/rust-lang/crates.io-index"
344dependencies = [ 358dependencies = [
345 "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", 359 "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -381,7 +395,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
381 395
382[[package]] 396[[package]]
383name = "itertools" 397name = "itertools"
384version = "0.7.8" 398version = "0.7.11"
385source = "registry+https://github.com/rust-lang/crates.io-index" 399source = "registry+https://github.com/rust-lang/crates.io-index"
386dependencies = [ 400dependencies = [
387 "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)", 401 "either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -405,9 +419,9 @@ dependencies = [
405 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 419 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
406 "num-derive 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 420 "num-derive 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
407 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 421 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
408 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 422 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
409 "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 423 "serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
410 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 424 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
411 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 425 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
412 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 426 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
413] 427]
@@ -419,15 +433,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
419 433
420[[package]] 434[[package]]
421name = "libc" 435name = "libc"
422version = "0.2.43" 436version = "0.2.45"
423source = "registry+https://github.com/rust-lang/crates.io-index" 437source = "registry+https://github.com/rust-lang/crates.io-index"
424 438
425[[package]] 439[[package]]
426name = "lock_api" 440name = "lock_api"
427version = "0.1.4" 441version = "0.1.5"
428source = "registry+https://github.com/rust-lang/crates.io-index" 442source = "registry+https://github.com/rust-lang/crates.io-index"
429dependencies = [ 443dependencies = [
430 "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 444 "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
431 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 445 "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
432] 446]
433 447
@@ -451,11 +465,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
451 465
452[[package]] 466[[package]]
453name = "memchr" 467name = "memchr"
454version = "2.1.1" 468version = "2.1.2"
455source = "registry+https://github.com/rust-lang/crates.io-index" 469source = "registry+https://github.com/rust-lang/crates.io-index"
456dependencies = [ 470dependencies = [
457 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", 471 "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
458 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 472 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
459 "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 473 "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
460] 474]
461 475
@@ -464,7 +478,7 @@ name = "memmap"
464version = "0.6.2" 478version = "0.6.2"
465source = "registry+https://github.com/rust-lang/crates.io-index" 479source = "registry+https://github.com/rust-lang/crates.io-index"
466dependencies = [ 480dependencies = [
467 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 481 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
468 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 482 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
469] 483]
470 484
@@ -475,7 +489,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
475 489
476[[package]] 490[[package]]
477name = "nodrop" 491name = "nodrop"
478version = "0.1.12" 492version = "0.1.13"
479source = "registry+https://github.com/rust-lang/crates.io-index" 493source = "registry+https://github.com/rust-lang/crates.io-index"
480 494
481[[package]] 495[[package]]
@@ -484,9 +498,9 @@ version = "0.2.3"
484source = "registry+https://github.com/rust-lang/crates.io-index" 498source = "registry+https://github.com/rust-lang/crates.io-index"
485dependencies = [ 499dependencies = [
486 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 500 "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
487 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 501 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
488 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 502 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
489 "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", 503 "syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)",
490] 504]
491 505
492[[package]] 506[[package]]
@@ -504,15 +518,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
504 518
505[[package]] 519[[package]]
506name = "num_cpus" 520name = "num_cpus"
507version = "1.8.0" 521version = "1.9.0"
508source = "registry+https://github.com/rust-lang/crates.io-index" 522source = "registry+https://github.com/rust-lang/crates.io-index"
509dependencies = [ 523dependencies = [
510 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 524 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
511] 525]
512 526
513[[package]] 527[[package]]
514name = "owning_ref" 528name = "owning_ref"
515version = "0.3.3" 529version = "0.4.0"
516source = "registry+https://github.com/rust-lang/crates.io-index" 530source = "registry+https://github.com/rust-lang/crates.io-index"
517dependencies = [ 531dependencies = [
518 "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 532 "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -523,7 +537,7 @@ name = "parking_lot"
523version = "0.6.4" 537version = "0.6.4"
524source = "registry+https://github.com/rust-lang/crates.io-index" 538source = "registry+https://github.com/rust-lang/crates.io-index"
525dependencies = [ 539dependencies = [
526 "lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 540 "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
527 "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", 541 "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
528] 542]
529 543
@@ -532,10 +546,10 @@ name = "parking_lot_core"
532version = "0.3.1" 546version = "0.3.1"
533source = "registry+https://github.com/rust-lang/crates.io-index" 547source = "registry+https://github.com/rust-lang/crates.io-index"
534dependencies = [ 548dependencies = [
535 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 549 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
536 "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", 550 "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
537 "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", 551 "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
538 "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 552 "smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
539 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 553 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
540] 554]
541 555
@@ -568,8 +582,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
568dependencies = [ 582dependencies = [
569 "pest 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 583 "pest 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
570 "pest_meta 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 584 "pest_meta 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
571 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 585 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
572 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 586 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
573 "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)", 587 "syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
574] 588]
575 589
@@ -585,7 +599,7 @@ dependencies = [
585 599
586[[package]] 600[[package]]
587name = "proc-macro2" 601name = "proc-macro2"
588version = "0.4.20" 602version = "0.4.24"
589source = "registry+https://github.com/rust-lang/crates.io-index" 603source = "registry+https://github.com/rust-lang/crates.io-index"
590dependencies = [ 604dependencies = [
591 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 605 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -593,17 +607,17 @@ dependencies = [
593 607
594[[package]] 608[[package]]
595name = "quote" 609name = "quote"
596version = "0.6.9" 610version = "0.6.10"
597source = "registry+https://github.com/rust-lang/crates.io-index" 611source = "registry+https://github.com/rust-lang/crates.io-index"
598dependencies = [ 612dependencies = [
599 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 613 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
600] 614]
601 615
602[[package]] 616[[package]]
603name = "ra_analysis" 617name = "ra_analysis"
604version = "0.1.0" 618version = "0.1.0"
605dependencies = [ 619dependencies = [
606 "fst 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", 620 "fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
607 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 621 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
608 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 622 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
609 "ra_db 0.1.0", 623 "ra_db 0.1.0",
@@ -647,7 +661,7 @@ dependencies = [
647name = "ra_editor" 661name = "ra_editor"
648version = "0.1.0" 662version = "0.1.0"
649dependencies = [ 663dependencies = [
650 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", 664 "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
651 "join_to_string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 665 "join_to_string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
652 "ra_syntax 0.1.0", 666 "ra_syntax 0.1.0",
653 "ra_text_edit 0.1.0", 667 "ra_text_edit 0.1.0",
@@ -676,12 +690,12 @@ dependencies = [
676name = "ra_lsp_server" 690name = "ra_lsp_server"
677version = "0.1.0" 691version = "0.1.0"
678dependencies = [ 692dependencies = [
679 "cargo_metadata 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", 693 "cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
680 "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 694 "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
681 "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 695 "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
682 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 696 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
683 "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 697 "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
684 "flexi_logger 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", 698 "flexi_logger 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)",
685 "gen_lsp_server 0.1.0", 699 "gen_lsp_server 0.1.0",
686 "im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 700 "im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
687 "languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)", 701 "languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -693,9 +707,9 @@ dependencies = [
693 "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 707 "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
694 "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 708 "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
695 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 709 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
696 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 710 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
697 "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 711 "serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
698 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 712 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
699 "smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", 713 "smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
700 "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", 714 "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
701 "test_utils 0.1.0", 715 "test_utils 0.1.0",
@@ -703,23 +717,23 @@ dependencies = [
703 "thread_worker 0.1.0", 717 "thread_worker 0.1.0",
704 "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)", 718 "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
705 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 719 "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
706 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 720 "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
707] 721]
708 722
709[[package]] 723[[package]]
710name = "ra_syntax" 724name = "ra_syntax"
711version = "0.1.0" 725version = "0.1.0"
712dependencies = [ 726dependencies = [
713 "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)", 727 "arrayvec 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
714 "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 728 "drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
715 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", 729 "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
716 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 730 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
717 "ra_text_edit 0.1.0", 731 "ra_text_edit 0.1.0",
718 "rowan 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 732 "rowan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
719 "test_utils 0.1.0", 733 "test_utils 0.1.0",
720 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 734 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
721 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 735 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
722 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 736 "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
723] 737]
724 738
725[[package]] 739[[package]]
@@ -731,12 +745,22 @@ dependencies = [
731] 745]
732 746
733[[package]] 747[[package]]
748name = "ra_vfs"
749version = "0.1.0"
750dependencies = [
751 "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
752 "relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
753 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
754 "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
755]
756
757[[package]]
734name = "rand" 758name = "rand"
735version = "0.4.3" 759version = "0.4.3"
736source = "registry+https://github.com/rust-lang/crates.io-index" 760source = "registry+https://github.com/rust-lang/crates.io-index"
737dependencies = [ 761dependencies = [
738 "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 762 "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
739 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 763 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
740 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 764 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
741] 765]
742 766
@@ -747,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
747dependencies = [ 771dependencies = [
748 "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", 772 "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
749 "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", 773 "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
750 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 774 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
751 "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", 775 "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
752 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 776 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
753] 777]
@@ -782,13 +806,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
782dependencies = [ 806dependencies = [
783 "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 807 "crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
784 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 808 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
785 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 809 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
786 "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 810 "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
787] 811]
788 812
789[[package]] 813[[package]]
790name = "redox_syscall" 814name = "redox_syscall"
791version = "0.1.40" 815version = "0.1.44"
792source = "registry+https://github.com/rust-lang/crates.io-index" 816source = "registry+https://github.com/rust-lang/crates.io-index"
793 817
794[[package]] 818[[package]]
@@ -796,27 +820,27 @@ name = "redox_termios"
796version = "0.1.1" 820version = "0.1.1"
797source = "registry+https://github.com/rust-lang/crates.io-index" 821source = "registry+https://github.com/rust-lang/crates.io-index"
798dependencies = [ 822dependencies = [
799 "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 823 "redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
800] 824]
801 825
802[[package]] 826[[package]]
803name = "regex" 827name = "regex"
804version = "1.0.6" 828version = "1.1.0"
805source = "registry+https://github.com/rust-lang/crates.io-index" 829source = "registry+https://github.com/rust-lang/crates.io-index"
806dependencies = [ 830dependencies = [
807 "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 831 "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
808 "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 832 "memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
809 "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", 833 "regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
810 "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 834 "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
811 "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 835 "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
812] 836]
813 837
814[[package]] 838[[package]]
815name = "regex-syntax" 839name = "regex-syntax"
816version = "0.6.2" 840version = "0.6.4"
817source = "registry+https://github.com/rust-lang/crates.io-index" 841source = "registry+https://github.com/rust-lang/crates.io-index"
818dependencies = [ 842dependencies = [
819 "ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", 843 "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
820] 844]
821 845
822[[package]] 846[[package]]
@@ -839,12 +863,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
839dependencies = [ 863dependencies = [
840 "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)", 864 "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
841 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 865 "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
842 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 866 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
843] 867]
844 868
845[[package]] 869[[package]]
846name = "rowan" 870name = "rowan"
847version = "0.1.2" 871version = "0.1.3"
848source = "registry+https://github.com/rust-lang/crates.io-index" 872source = "registry+https://github.com/rust-lang/crates.io-index"
849dependencies = [ 873dependencies = [
850 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 874 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -854,7 +878,7 @@ dependencies = [
854 878
855[[package]] 879[[package]]
856name = "rustc-demangle" 880name = "rustc-demangle"
857version = "0.1.9" 881version = "0.1.11"
858source = "registry+https://github.com/rust-lang/crates.io-index" 882source = "registry+https://github.com/rust-lang/crates.io-index"
859 883
860[[package]] 884[[package]]
@@ -875,7 +899,7 @@ dependencies = [
875 899
876[[package]] 900[[package]]
877name = "ryu" 901name = "ryu"
878version = "0.2.6" 902version = "0.2.7"
879source = "registry+https://github.com/rust-lang/crates.io-index" 903source = "registry+https://github.com/rust-lang/crates.io-index"
880 904
881[[package]] 905[[package]]
@@ -890,11 +914,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
890dependencies = [ 914dependencies = [
891 "derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", 915 "derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
892 "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 916 "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
893 "lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 917 "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
894 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 918 "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
895 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", 919 "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
896 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 920 "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
897 "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", 921 "smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
898] 922]
899 923
900[[package]] 924[[package]]
@@ -916,7 +940,7 @@ version = "0.9.0"
916source = "registry+https://github.com/rust-lang/crates.io-index" 940source = "registry+https://github.com/rust-lang/crates.io-index"
917dependencies = [ 941dependencies = [
918 "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 942 "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
919 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 943 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
920] 944]
921 945
922[[package]] 946[[package]]
@@ -926,30 +950,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
926 950
927[[package]] 951[[package]]
928name = "serde" 952name = "serde"
929version = "1.0.80" 953version = "1.0.82"
930source = "registry+https://github.com/rust-lang/crates.io-index" 954source = "registry+https://github.com/rust-lang/crates.io-index"
931dependencies = [ 955dependencies = [
932 "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 956 "serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
933] 957]
934 958
935[[package]] 959[[package]]
936name = "serde_derive" 960name = "serde_derive"
937version = "1.0.80" 961version = "1.0.82"
938source = "registry+https://github.com/rust-lang/crates.io-index" 962source = "registry+https://github.com/rust-lang/crates.io-index"
939dependencies = [ 963dependencies = [
940 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 964 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
941 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 965 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
942 "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", 966 "syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)",
943] 967]
944 968
945[[package]] 969[[package]]
946name = "serde_json" 970name = "serde_json"
947version = "1.0.32" 971version = "1.0.33"
948source = "registry+https://github.com/rust-lang/crates.io-index" 972source = "registry+https://github.com/rust-lang/crates.io-index"
949dependencies = [ 973dependencies = [
950 "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", 974 "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
951 "ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 975 "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
952 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 976 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
953] 977]
954 978
955[[package]] 979[[package]]
@@ -973,7 +997,7 @@ dependencies = [
973 997
974[[package]] 998[[package]]
975name = "smallvec" 999name = "smallvec"
976version = "0.6.5" 1000version = "0.6.7"
977source = "registry+https://github.com/rust-lang/crates.io-index" 1001source = "registry+https://github.com/rust-lang/crates.io-index"
978dependencies = [ 1002dependencies = [
979 "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", 1003 "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -984,7 +1008,7 @@ name = "smol_str"
984version = "0.1.7" 1008version = "0.1.7"
985source = "registry+https://github.com/rust-lang/crates.io-index" 1009source = "registry+https://github.com/rust-lang/crates.io-index"
986dependencies = [ 1010dependencies = [
987 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 1011 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
988] 1012]
989 1013
990[[package]] 1014[[package]]
@@ -1007,18 +1031,18 @@ name = "syn"
1007version = "0.14.9" 1031version = "0.14.9"
1008source = "registry+https://github.com/rust-lang/crates.io-index" 1032source = "registry+https://github.com/rust-lang/crates.io-index"
1009dependencies = [ 1033dependencies = [
1010 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 1034 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
1011 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 1035 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
1012 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1036 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
1013] 1037]
1014 1038
1015[[package]] 1039[[package]]
1016name = "syn" 1040name = "syn"
1017version = "0.15.18" 1041version = "0.15.23"
1018source = "registry+https://github.com/rust-lang/crates.io-index" 1042source = "registry+https://github.com/rust-lang/crates.io-index"
1019dependencies = [ 1043dependencies = [
1020 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 1044 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
1021 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 1045 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
1022 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1046 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
1023] 1047]
1024 1048
@@ -1027,9 +1051,9 @@ name = "synstructure"
1027version = "0.10.1" 1051version = "0.10.1"
1028source = "registry+https://github.com/rust-lang/crates.io-index" 1052source = "registry+https://github.com/rust-lang/crates.io-index"
1029dependencies = [ 1053dependencies = [
1030 "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)", 1054 "proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
1031 "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", 1055 "quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
1032 "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)", 1056 "syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)",
1033 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", 1057 "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
1034] 1058]
1035 1059
@@ -1044,7 +1068,7 @@ dependencies = [
1044 1068
1045[[package]] 1069[[package]]
1046name = "tera" 1070name = "tera"
1047version = "0.11.19" 1071version = "0.11.20"
1048source = "registry+https://github.com/rust-lang/crates.io-index" 1072source = "registry+https://github.com/rust-lang/crates.io-index"
1049dependencies = [ 1073dependencies = [
1050 "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", 1074 "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1054,9 +1078,9 @@ dependencies = [
1054 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", 1078 "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
1055 "pest 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", 1079 "pest 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
1056 "pest_derive 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1080 "pest_derive 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
1057 "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", 1081 "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
1058 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 1082 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
1059 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 1083 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
1060 "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", 1084 "slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
1061 "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", 1085 "unic-segment 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
1062 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 1086 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1068,9 +1092,9 @@ version = "0.0.1"
1068source = "registry+https://github.com/rust-lang/crates.io-index" 1092source = "registry+https://github.com/rust-lang/crates.io-index"
1069dependencies = [ 1093dependencies = [
1070 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1094 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
1071 "heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", 1095 "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
1072 "ron 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", 1096 "ron 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
1073 "tera 0.11.19 (registry+https://github.com/rust-lang/crates.io-index)", 1097 "tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)",
1074] 1098]
1075 1099
1076[[package]] 1100[[package]]
@@ -1078,8 +1102,8 @@ name = "termion"
1078version = "1.5.1" 1102version = "1.5.1"
1079source = "registry+https://github.com/rust-lang/crates.io-index" 1103source = "registry+https://github.com/rust-lang/crates.io-index"
1080dependencies = [ 1104dependencies = [
1081 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 1105 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
1082 "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1106 "redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
1083 "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", 1107 "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
1084] 1108]
1085 1109
@@ -1088,8 +1112,8 @@ name = "test_utils"
1088version = "0.1.0" 1112version = "0.1.0"
1089dependencies = [ 1113dependencies = [
1090 "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", 1114 "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
1091 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", 1115 "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
1092 "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)", 1116 "serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)",
1093 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", 1117 "text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
1094] 1118]
1095 1119
@@ -1098,7 +1122,7 @@ name = "text_unit"
1098version = "0.1.5" 1122version = "0.1.5"
1099source = "registry+https://github.com/rust-lang/crates.io-index" 1123source = "registry+https://github.com/rust-lang/crates.io-index"
1100dependencies = [ 1124dependencies = [
1101 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 1125 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
1102] 1126]
1103 1127
1104[[package]] 1128[[package]]
@@ -1131,16 +1155,16 @@ name = "threadpool"
1131version = "1.7.1" 1155version = "1.7.1"
1132source = "registry+https://github.com/rust-lang/crates.io-index" 1156source = "registry+https://github.com/rust-lang/crates.io-index"
1133dependencies = [ 1157dependencies = [
1134 "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", 1158 "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
1135] 1159]
1136 1160
1137[[package]] 1161[[package]]
1138name = "time" 1162name = "time"
1139version = "0.1.40" 1163version = "0.1.41"
1140source = "registry+https://github.com/rust-lang/crates.io-index" 1164source = "registry+https://github.com/rust-lang/crates.io-index"
1141dependencies = [ 1165dependencies = [
1142 "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", 1166 "libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)",
1143 "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", 1167 "redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
1144 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", 1168 "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
1145] 1169]
1146 1170
@@ -1150,9 +1174,9 @@ version = "0.1.0"
1150dependencies = [ 1174dependencies = [
1151 "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", 1175 "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
1152 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", 1176 "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
1153 "itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", 1177 "itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)",
1154 "teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", 1178 "teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
1155 "walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)", 1179 "walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
1156] 1180]
1157 1181
1158[[package]] 1182[[package]]
@@ -1167,7 +1191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1167 1191
1168[[package]] 1192[[package]]
1169name = "ucd-util" 1193name = "ucd-util"
1170version = "0.1.2" 1194version = "0.1.3"
1171source = "registry+https://github.com/rust-lang/crates.io-index" 1195source = "registry+https://github.com/rust-lang/crates.io-index"
1172 1196
1173[[package]] 1197[[package]]
@@ -1265,7 +1289,7 @@ name = "url_serde"
1265version = "0.2.0" 1289version = "0.2.0"
1266source = "registry+https://github.com/rust-lang/crates.io-index" 1290source = "registry+https://github.com/rust-lang/crates.io-index"
1267dependencies = [ 1291dependencies = [
1268 "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", 1292 "serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)",
1269 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)", 1293 "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
1270] 1294]
1271 1295
@@ -1291,7 +1315,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1291 1315
1292[[package]] 1316[[package]]
1293name = "walkdir" 1317name = "walkdir"
1294version = "2.2.6" 1318version = "2.2.7"
1295source = "registry+https://github.com/rust-lang/crates.io-index" 1319source = "registry+https://github.com/rust-lang/crates.io-index"
1296dependencies = [ 1320dependencies = [
1297 "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)", 1321 "same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1330,17 +1354,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1330"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e" 1354"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
1331"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" 1355"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
1332"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" 1356"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
1333"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef" 1357"checksum arrayvec 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "d18513977c2d8261c448511c5c53dc66b26dfccbc3d4446672dea1e71a7d8a26"
1334"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" 1358"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
1335"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" 1359"checksum autocfg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4e5f34df7a019573fb8bdc7e24a2bfebe51a2a1d6bfdbaeccedb3c41fc574727"
1336"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" 1360"checksum backtrace 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "b5b493b66e03090ebc4343eb02f94ff944e0cbc9ac6571491d170ba026741eb5"
1361"checksum backtrace-sys 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3fcce89e5ad5c8949caa9434501f7b55415b3e7ad5270cb88c75a8d35e8f1279"
1337"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" 1362"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
1338"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" 1363"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
1339"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" 1364"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab"
1340"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" 1365"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
1341"checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d" 1366"checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d"
1342"checksum cargo_metadata 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1aaa1a9856ae2d188340526d0986feb6899c9ad11c5dfd73453c784fed6e373d" 1367"checksum cargo_metadata 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e5d1b4d380e1bab994591a24c2bdd1b054f64b60bef483a8c598c7c345bc3bbe"
1343"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" 1368"checksum cc 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)" = "155ed195f7bd722d1dfeb30365b9d0c1f6a078fa7ca4014497e5935d90993d6f"
1344"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" 1369"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
1345"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878" 1370"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
1346"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e" 1371"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
@@ -1348,9 +1373,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1348"checksum crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827" 1373"checksum crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b85741761b7f160bc5e7e0c14986ef685b7f8bf9b7ad081c60c604bb4649827"
1349"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3" 1374"checksum crossbeam-deque 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f739f8c5363aca78cfb059edf753d8f0d36908c348f3d8d1503f03d8b75d9cf3"
1350"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150" 1375"checksum crossbeam-epoch 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "927121f5407de9956180ff5e936fe3cf4324279280001cd56b669d28ee7e9150"
1351"checksum crossbeam-epoch 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c90f1474584f38e270b5b613e898c8c328aa4f3dea85e0a27ac2e642f009416" 1376"checksum crossbeam-epoch 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2449aaa4ec7ef96e5fb24db16024b935df718e9ae1cec0a1e68feeca2efca7b8"
1352"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9" 1377"checksum crossbeam-utils 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2760899e32a1d58d5abb31129f8fae5de75220bc2176e77ff7c627ae45c918d9"
1353"checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015" 1378"checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015"
1379"checksum crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "41ee4864f4797060e52044376f7d107429ce1fb43460021b126424b7180ee21a"
1354"checksum derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "6ca414e896ae072546f4d789f452daaecf60ddee4c9df5dc6d5936d769e3d87c" 1380"checksum derive-new 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "6ca414e896ae072546f4d789f452daaecf60ddee4c9df5dc6d5936d769e3d87c"
1355"checksum deunicode 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690" 1381"checksum deunicode 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "850878694b7933ca4c9569d30a34b55031b9b139ee1fc7b94a527c4ef960d690"
1356"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" 1382"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
@@ -1361,37 +1387,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1361"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7" 1387"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
1362"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596" 1388"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
1363"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" 1389"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
1364"checksum flexi_logger 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "553854ebfebeae44ba699a9dc7d53a4036ccc01cd1e144aea0e3054c54383733" 1390"checksum flexi_logger 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4dda06444ccc8b0a6da19d939989b4a4e83f328710ada449eedaed48c8b903cd"
1365"checksum fst 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9b0408ab57c1bf7c634b2ac6a165d14f642dc3335a43203090a7f8c78b54577b" 1391"checksum fst 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "db72126ca7dff566cdbbdd54af44668c544897d9d3862b198141f176f1238bdf"
1366"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" 1392"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
1367"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" 1393"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
1368"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" 1394"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
1369"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" 1395"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
1370"checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82" 1396"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
1371"checksum humansize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e" 1397"checksum humansize 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b6cab2627acfc432780848602f3f558f7e9dd427352224b0d9324025796d2a5e"
1372"checksum id-arena 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3a7250033feafee46a1cecd2c2616a64aec1d064f38c9ae2bdd297728542843e" 1398"checksum id-arena 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3a7250033feafee46a1cecd2c2616a64aec1d064f38c9ae2bdd297728542843e"
1373"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" 1399"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
1374"checksum im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9c7f9bb8aee47fc16d535a705f7867a9fc83bb822e5e1043bb98e77ffeed3c" 1400"checksum im 12.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ae9c7f9bb8aee47fc16d535a705f7867a9fc83bb822e5e1043bb98e77ffeed3c"
1375"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d" 1401"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
1376"checksum itertools 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f58856976b776fedd95533137617a02fb25719f40e7d9b01c7043cd65474f450" 1402"checksum itertools 0.7.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0d47946d458e94a1b7bcabbf6521ea7c037062c81f534615abcad76e84d4970d"
1377"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b" 1403"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
1378"checksum join_to_string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7bddc885f3fd69dd4b5d747c2efe6dd2c36d795ea9938281ed50910e32c95e31" 1404"checksum join_to_string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7bddc885f3fd69dd4b5d747c2efe6dd2c36d795ea9938281ed50910e32c95e31"
1379"checksum languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0be4f8f783832a308975035043c0e8ad18e11c3f3d395aa6f1a9f3a30b8e654" 1405"checksum languageserver-types 0.53.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a0be4f8f783832a308975035043c0e8ad18e11c3f3d395aa6f1a9f3a30b8e654"
1380"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" 1406"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
1381"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d" 1407"checksum libc 0.2.45 (registry+https://github.com/rust-lang/crates.io-index)" = "2d2857ec59fadc0773853c664d2d18e7198e83883e7060b63c924cb077bd5c74"
1382"checksum lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775751a3e69bde4df9b38dd00a1b5d6ac13791e4223d4a0506577f0dd27cfb7a" 1408"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
1383"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" 1409"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
1384"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" 1410"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43"
1385"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" 1411"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
1386"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16" 1412"checksum memchr 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "db4c41318937f6e76648f42826b1d9ade5c09cafb5aef7e351240a70f39206e9"
1387"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff" 1413"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
1388"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3" 1414"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
1389"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2" 1415"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
1390"checksum num-derive 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8af1847c907c2f04d7bfd572fb25bbb4385c637fe5be163cf2f8c5d778fe1e7d" 1416"checksum num-derive 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8af1847c907c2f04d7bfd572fb25bbb4385c637fe5be163cf2f8c5d778fe1e7d"
1391"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea" 1417"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
1392"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1" 1418"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
1393"checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30" 1419"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
1394"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37" 1420"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
1395"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5" 1421"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
1396"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c" 1422"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
1397"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" 1423"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
@@ -1399,57 +1425,57 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1399"checksum pest_derive 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b76f477146419bc539a63f4ef40e902166cb43b3e51cecc71d9136fd12c567e7" 1425"checksum pest_derive 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b76f477146419bc539a63f4ef40e902166cb43b3e51cecc71d9136fd12c567e7"
1400"checksum pest_generator 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ebee4e9680be4fd162e6f3394ae4192a6b60b1e4d17d845e631f0c68d1a3386" 1426"checksum pest_generator 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ebee4e9680be4fd162e6f3394ae4192a6b60b1e4d17d845e631f0c68d1a3386"
1401"checksum pest_meta 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1f6d5f6f0e6082578c86af197d780dc38328e3f768cec06aac9bc46d714e8221" 1427"checksum pest_meta 2.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1f6d5f6f0e6082578c86af197d780dc38328e3f768cec06aac9bc46d714e8221"
1402"checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee" 1428"checksum proc-macro2 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "77619697826f31a02ae974457af0b29b723e5619e113e9397b8b82c6bd253f09"
1403"checksum quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "63b5829244f52738cfee93b3a165c1911388675be000c888d2fae620dee8fa5b" 1429"checksum quote 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "53fa22a1994bd0f9372d7a816207d8a2677ad0325b073f5c5332760f0fb62b5c"
1404"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd" 1430"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
1405"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c" 1431"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
1406"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372" 1432"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
1407"checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db" 1433"checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
1408"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473" 1434"checksum rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "373814f27745b2686b350dd261bfd24576a6fb0e2c5919b3a2b6005f820b0473"
1409"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356" 1435"checksum rayon-core 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b055d1e92aba6877574d8fe604a63c8b5df60f60e5982bf7ccbb1338ea527356"
1410"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1" 1436"checksum redox_syscall 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "a84bcd297b87a545980a2d25a0beb72a1f490c31f0a9fde52fca35bfbb1ceb70"
1411"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76" 1437"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
1412"checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467" 1438"checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f"
1413"checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d" 1439"checksum regex-syntax 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4e47a2ed29da7a9e1960e1639e7a982e6edc6d49be308a3b02daf511504a16d1"
1414"checksum relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7790c7f1cc73d831d28dc5a7deb316a006e7848e6a7f467cdb10a0a9e0fb1c" 1440"checksum relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7790c7f1cc73d831d28dc5a7deb316a006e7848e6a7f467cdb10a0a9e0fb1c"
1415"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5" 1441"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
1416"checksum ron 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c48677d8a9247a4e0d1f3f9cb4b0a8e29167fdc3c04f383a5e669cd7a960ae0f" 1442"checksum ron 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c48677d8a9247a4e0d1f3f9cb4b0a8e29167fdc3c04f383a5e669cd7a960ae0f"
1417"checksum rowan 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "795b1c830f5335e89f93415315518e9727307308c44c1e5adebe8a38f856c334" 1443"checksum rowan 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a9ccca91953e9c549cac18e8f41daa5d49dad1c9a4c9bb977ac42718bb34e1bf"
1418"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395" 1444"checksum rustc-demangle 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "01b90379b8664dd83460d59bdc5dd1fd3172b8913788db483ed1325171eab2f7"
1419"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" 1445"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8"
1420"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" 1446"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
1421"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7" 1447"checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7"
1422"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9" 1448"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
1423"checksum salsa 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e56b13ce9b2bfaa1c89863d76880838c0734de85beeaef437fd70d4fa7e253d3" 1449"checksum salsa 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e56b13ce9b2bfaa1c89863d76880838c0734de85beeaef437fd70d4fa7e253d3"
1424"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" 1450"checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267"
1425"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" 1451"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
1426"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" 1452"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
1427"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" 1453"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
1428"checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef" 1454"checksum serde 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)" = "6fa52f19aee12441d5ad11c9a00459122bd8f98707cadf9778c540674f1935b6"
1429"checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c" 1455"checksum serde_derive 1.0.82 (registry+https://github.com/rust-lang/crates.io-index)" = "96a7f9496ac65a2db5929afa087b54f8fc5008dcfbe48a8874ed20049b0d6154"
1430"checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce" 1456"checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811"
1431"checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded" 1457"checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded"
1432"checksum slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373" 1458"checksum slug 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b3bc762e6a4b6c6fcaade73e77f9ebc6991b676f88bb2358bddb56560f073373"
1433"checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d" 1459"checksum smallvec 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b73ea3738b47563803ef814925e69be00799a8c07420be8b996f8e98fb2336db"
1434"checksum smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f3ed6f19b800d76574926e458d5f8e2dbea86c2b58c08d33a982448f09ac8d0c" 1460"checksum smol_str 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f3ed6f19b800d76574926e458d5f8e2dbea86c2b58c08d33a982448f09ac8d0c"
1435"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8" 1461"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
1436"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550" 1462"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
1437"checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30" 1463"checksum superslice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b50b13d42370e0f5fc62eafdd5c2d20065eaf5458dab215ff3e20e63eea96b30"
1438"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741" 1464"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
1439"checksum syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)" = "90c39a061e2f412a9f869540471ab679e85e50c6b05604daf28bc3060f75c430" 1465"checksum syn 0.15.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9545a6a093a3f0bd59adb472700acc08cad3776f860f16a897dfce8c88721cbc"
1440"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015" 1466"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
1441"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8" 1467"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
1442"checksum tera 0.11.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac6d8ad623a7efcfb4367ce2a36f84ef849d5aa3c7bcf2e0324c4cbcc57ebaf" 1468"checksum tera 0.11.20 (registry+https://github.com/rust-lang/crates.io-index)" = "4b505279e19d8f7d24b1a9dc58327c9c36174b1a2c7ebdeac70792d017cb64f3"
1443"checksum teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0d89ad4617d1dec55331067fadaa041e813479e1779616f3d3ce9308bf46184e" 1469"checksum teraron 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0d89ad4617d1dec55331067fadaa041e813479e1779616f3d3ce9308bf46184e"
1444"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" 1470"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
1445"checksum text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8009d7bdbd896a7e09b595f8f9325a19047fc708653e60d0895202b82135048f" 1471"checksum text_unit 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8009d7bdbd896a7e09b595f8f9325a19047fc708653e60d0895202b82135048f"
1446"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6" 1472"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
1447"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" 1473"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
1448"checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865" 1474"checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
1449"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" 1475"checksum time 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "847da467bf0db05882a9e2375934a8a55cffdc9db0d128af1518200260ba1f6c"
1450"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" 1476"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
1451"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77" 1477"checksum ucd-trie 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "71a9c5b1fe77426cf144cc30e49e955270f5086e31a6441dfa8b32efc09b9d77"
1452"checksum ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d0f8bfa9ff0cadcd210129ad9d2c5f145c13e9ced3d3e5d948a6213487d52444" 1478"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
1453"checksum unic-char-property 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce36d3f7ce754afdbccccf8ff0dd0134e50fb44aaae579f96218856e9e5dbd1e" 1479"checksum unic-char-property 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce36d3f7ce754afdbccccf8ff0dd0134e50fb44aaae579f96218856e9e5dbd1e"
1454"checksum unic-char-range 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9ab85fab42ad1b26cafc03bf891f69cb4d6e15f491030e89a0122197baa8ae8" 1480"checksum unic-char-range 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9ab85fab42ad1b26cafc03bf891f69cb4d6e15f491030e89a0122197baa8ae8"
1455"checksum unic-common 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8d4a7ade929ef7d971e16ced21a8cd56a63869aa6032dfb8cb083cf7d077bf" 1481"checksum unic-common 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8d4a7ade929ef7d971e16ced21a8cd56a63869aa6032dfb8cb083cf7d077bf"
@@ -1468,7 +1494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1468"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a" 1494"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
1469"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" 1495"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
1470"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" 1496"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
1471"checksum walkdir 2.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0ffb549f212c31e19f3667c55a7f515b983a84aef10fd0a4d1f9c125425115f3" 1497"checksum walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d9d7ed3431229a144296213105a390676cc49c9b6a72bd19f3176c98e129fa1"
1472"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0" 1498"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
1473"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1499"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
1474"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab" 1500"checksum winapi-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "afc5508759c5bf4285e61feb862b6083c8480aec864fa17a81fdec6f69b461ab"
diff --git a/crates/ra_lsp_server/Cargo.toml b/crates/ra_lsp_server/Cargo.toml
index ce4f79d46..4e8e09584 100644
--- a/crates/ra_lsp_server/Cargo.toml
+++ b/crates/ra_lsp_server/Cargo.toml
@@ -19,7 +19,7 @@ flexi_logger = "0.10.0"
19log = "0.4.3" 19log = "0.4.3"
20url_serde = "0.2.0" 20url_serde = "0.2.0"
21languageserver-types = "0.53.0" 21languageserver-types = "0.53.0"
22walkdir = "2.2.0" 22walkdir = "2.2.7"
23im = "12.0.0" 23im = "12.0.0"
24cargo_metadata = "0.6.0" 24cargo_metadata = "0.6.0"
25text_unit = { version = "0.1.2", features = ["serde"] } 25text_unit = { version = "0.1.2", features = ["serde"] }
diff --git a/crates/ra_vfs/Cargo.toml b/crates/ra_vfs/Cargo.toml
new file mode 100644
index 000000000..f8d49b3f5
--- /dev/null
+++ b/crates/ra_vfs/Cargo.toml
@@ -0,0 +1,11 @@
1[package]
2edition = "2018"
3name = "ra_vfs"
4version = "0.1.0"
5authors = ["Aleksey Kladov <[email protected]>"]
6
7[dependencies]
8walkdir = "2.2.7"
9relative-path = "0.4.0"
10rustc-hash = "1.0"
11crossbeam-channel = "0.2.4"
diff --git a/crates/ra_vfs/src/arena.rs b/crates/ra_vfs/src/arena.rs
new file mode 100644
index 000000000..d6fad753b
--- /dev/null
+++ b/crates/ra_vfs/src/arena.rs
@@ -0,0 +1,48 @@
1use std::{
2 hash::{Hash, Hasher},
3 marker::PhantomData,
4 ops::{Index, IndexMut},
5};
6
7#[derive(Clone, Debug)]
8pub(crate) struct Arena<ID: ArenaId, T> {
9 data: Vec<T>,
10 _ty: PhantomData<ID>,
11}
12
13pub(crate) trait ArenaId {
14 fn from_u32(id: u32) -> Self;
15 fn to_u32(self) -> u32;
16}
17
18impl<ID: ArenaId, T> Arena<ID, T> {
19 pub fn alloc(&mut self, value: T) -> ID {
20 let id = self.data.len() as u32;
21 self.data.push(value);
22 ID::from_u32(id)
23 }
24}
25
26impl<ID: ArenaId, T> Default for Arena<ID, T> {
27 fn default() -> Arena<ID, T> {
28 Arena {
29 data: Vec::new(),
30 _ty: PhantomData,
31 }
32 }
33}
34
35impl<ID: ArenaId, T> Index<ID> for Arena<ID, T> {
36 type Output = T;
37 fn index(&self, idx: ID) -> &T {
38 let idx = idx.to_u32() as usize;
39 &self.data[idx]
40 }
41}
42
43impl<ID: ArenaId, T> IndexMut<ID> for Arena<ID, T> {
44 fn index_mut(&mut self, idx: ID) -> &mut T {
45 let idx = idx.to_u32() as usize;
46 &mut self.data[idx]
47 }
48}
diff --git a/crates/ra_vfs/src/io.rs b/crates/ra_vfs/src/io.rs
new file mode 100644
index 000000000..f90fe0e84
--- /dev/null
+++ b/crates/ra_vfs/src/io.rs
@@ -0,0 +1,72 @@
1use std::{
2 fs,
3 path::{Path, PathBuf},
4 thread::JoinHandle,
5};
6
7use walkdir::WalkDir;
8use crossbeam_channel::{Sender, Receiver};
9
10pub(crate) fn start_io() -> (JoinHandle<(), Sender<()>, Receiver()>) {}
11
12// use crate::thread_watcher::{ThreadWatcher, Worker};
13
14// #[derive(Debug)]
15// pub struct FileEvent {
16// pub path: PathBuf,
17// pub kind: FileEventKind,
18// }
19
20// #[derive(Debug)]
21// pub enum FileEventKind {
22// Add(String),
23// }
24
25// pub fn roots_loader() -> (Worker<PathBuf, (PathBuf, Vec<FileEvent>)>, ThreadWatcher) {
26// Worker::<PathBuf, (PathBuf, Vec<FileEvent>)>::spawn(
27// "roots loader",
28// 128,
29// |input_receiver, output_sender| {
30// input_receiver
31// .map(|path| {
32// log::debug!("loading {} ...", path.as_path().display());
33// let events = load_root(path.as_path());
34// log::debug!("... loaded {}", path.as_path().display());
35// (path, events)
36// })
37// .for_each(|it| output_sender.send(it))
38// },
39// )
40// }
41
42// fn load_root(path: &Path) -> Vec<FileEvent> {
43// let mut res = Vec::new();
44// for entry in WalkDir::new(path) {
45// let entry = match entry {
46// Ok(entry) => entry,
47// Err(e) => {
48// log::warn!("watcher error: {}", e);
49// continue;
50// }
51// };
52// if !entry.file_type().is_file() {
53// continue;
54// }
55// let path = entry.path();
56// if path.extension().and_then(|os| os.to_str()) != Some("rs") {
57// continue;
58// }
59// let text = match fs::read_to_string(path) {
60// Ok(text) => text,
61// Err(e) => {
62// log::warn!("watcher error: {}", e);
63// continue;
64// }
65// };
66// res.push(FileEvent {
67// path: path.to_owned(),
68// kind: FileEventKind::Add(text),
69// })
70// }
71// res
72// }
diff --git a/crates/ra_vfs/src/lib.rs b/crates/ra_vfs/src/lib.rs
new file mode 100644
index 000000000..8f6abadb7
--- /dev/null
+++ b/crates/ra_vfs/src/lib.rs
@@ -0,0 +1,128 @@
1//! VFS stands for Virtual File System.
2//!
3//! When doing analysis, we don't want to do any IO, we want to keep all source
4//! code in memory. However, the actual source code is stored on disk, so you
5//! need to get it into the memory in the first place somehow. VFS is the
6//! component which does this.
7//!
8//! It also is responsible for watching the disk for changes, and for merging
9//! editor state (modified, unsaved files) with disk state.
10//!
11//! VFS is based on a concept of roots: a set of directories on the file system
12//! whihc are watched for changes. Typically, there will be a root for each
13//! Cargo package.
14mod arena;
15mod io;
16
17use std::{
18 cmp::Reverse,
19 path::{Path, PathBuf},
20 ffi::OsStr,
21 sync::Arc,
22};
23
24use relative_path::RelativePathBuf;
25use crate::arena::{ArenaId, Arena};
26
27/// `RootFilter` is a predicate that checks if a file can belong to a root
28struct RootFilter {
29 root: PathBuf,
30 file_filter: fn(&Path) -> bool,
31}
32
33impl RootFilter {
34 fn new(root: PathBuf) -> RootFilter {
35 RootFilter {
36 root,
37 file_filter: rs_extension_filter,
38 }
39 }
40 fn can_contain(&self, path: &Path) -> bool {
41 (self.file_filter)(path) && path.starts_with(&self.root)
42 }
43}
44
45fn rs_extension_filter(p: &Path) -> bool {
46 p.extension() == Some(OsStr::new("rs"))
47}
48
49#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)]
50pub struct VfsRoot(u32);
51
52impl ArenaId for VfsRoot {
53 fn from_u32(idx: u32) -> VfsRoot {
54 VfsRoot(idx)
55 }
56 fn to_u32(self) -> u32 {
57 self.0
58 }
59}
60
61#[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)]
62pub struct VfsFile(u32);
63
64impl ArenaId for VfsFile {
65 fn from_u32(idx: u32) -> VfsFile {
66 VfsFile(idx)
67 }
68 fn to_u32(self) -> u32 {
69 self.0
70 }
71}
72
73struct VfsFileData {
74 root: VfsRoot,
75 path: RelativePathBuf,
76 text: Arc<String>,
77}
78
79#[derive(Default)]
80struct Vfs {
81 roots: Arena<VfsRoot, RootFilter>,
82 files: Arena<VfsFile, VfsFileData>,
83 // pending_changes: Vec<PendingChange>,
84}
85
86impl Vfs {
87 pub fn new(mut roots: Vec<PathBuf>) -> Vfs {
88 let mut res = Vfs::default();
89
90 roots.sort_by_key(|it| Reverse(it.as_os_str().len()));
91
92 for path in roots {
93 res.roots.alloc(RootFilter::new(path));
94 }
95 res
96 }
97
98 pub fn add_file_overlay(&mut self, path: &Path, content: String) {}
99
100 pub fn change_file_overlay(&mut self, path: &Path, new_content: String) {}
101
102 pub fn remove_file_overlay(&mut self, path: &Path) {}
103
104 pub fn commit_changes(&mut self) -> Vec<VfsChange> {
105 unimplemented!()
106 }
107}
108
109#[derive(Debug, Clone)]
110pub enum VfsChange {
111 AddRoot {
112 root: VfsRoot,
113 files: Vec<(VfsFile, RelativePathBuf, Arc<String>)>,
114 },
115 AddFile {
116 file: VfsFile,
117 root: VfsRoot,
118 path: RelativePathBuf,
119 text: Arc<String>,
120 },
121 RemoveFile {
122 file: VfsFile,
123 },
124 ChangeFile {
125 file: VfsFile,
126 text: Arc<String>,
127 },
128}