Kirill Bulatov
9863798480
Rename the method to avoid false promises
2020-09-10 01:45:49 +03:00
Kirill Bulatov
f4ee885b3b
Add VirtualPath tests
2020-09-10 01:42:20 +03:00
Kirill Bulatov
33179a0ae1
Move rust-related logic from vfs to base_db level
2020-09-10 01:42:20 +03:00
Kirill Bulatov
b2bcc5278d
Properly handle special cases (binaries, mod.rs)
2020-09-10 01:42:20 +03:00
Kirill Bulatov
897a4c702e
Implement file name & extension retrieval method for VirtualPath
2020-09-10 01:42:20 +03:00
Kirill Bulatov
d163f9f114
Small refactoring
2020-09-10 01:42:20 +03:00
Kirill Bulatov
8aa740dab4
Happy path implemented
2020-09-10 01:42:20 +03:00
Kirill Bulatov
0de71f7bc9
Properly use FileSet API
2020-09-10 01:42:20 +03:00
Kirill Bulatov
17870a3e2c
Better API
2020-09-10 01:42:20 +03:00
Kirill Bulatov
4bed588001
First steps for mod<|> completion
2020-09-10 01:42:20 +03:00
Armin Sander
8fc254597f
Sophisticate Windows path encoding
2020-08-14 02:03:54 +02:00
Aleksey Kladov
da65cff18b
Add one more test
2020-07-26 11:05:28 +02:00
Aleksey Kladov
39a2bc5e3c
Expose package roots more directly
2020-07-21 12:52:51 +02:00
Aleksey Kladov
3e688d2a93
Simplify
2020-07-20 18:01:42 +02:00
Aleksey Kladov
46ac9ff5e3
Simplify exclusion logic
2020-07-18 16:40:10 +02:00
Aleksey Kladov
dc2094cfa5
Minor, push allocations down
2020-07-14 15:57:10 +02:00
Aleksey Kladov
a1ef6cc553
Optimize VFS processing
2020-07-10 22:30:24 +02:00
Aleksey Kladov
86bc4d20b3
Also reload when adding new examples, tests, etc
2020-07-10 22:30:24 +02:00
Aleksey Kladov
69b79e3a73
Replace ad hocery with science
2020-07-07 23:28:48 +02:00
Aleksey Kladov
5d2225f4bc
Fix symbol search in salsa
...
Previous solution for binning paths into disjoint directories was
simple and fast -- just a single binary search.
Unfortunatelly, it wasn't coorrect: if the ditr are
/d
/d/a
/d/c
then partitioning the file /d/b/lib.rs won't pick /d as a correct
directory.
The correct solution here is a trie, but it requires exposing path
components.
So, we use a poor man's substitution -- a *vector* of sorted paths,
such that each bucket is prefix-free
closes #5246
2020-07-07 17:38:02 +02:00
Aleksey Kladov
e336a96998
FileSetConfig works with empty set of roots
...
Closes #5139
2020-07-01 09:06:51 +02:00
Jonas Schievink
72fe70f2f8
Make VFS join methods fallible
2020-06-26 16:30:50 +02:00
Aleksey Kladov
6937bcb67d
Less error-prone naming
2020-06-24 16:59:15 +02:00
Aleksey Kladov
e6c61d5072
Cleanup project.json deserialization
2020-06-24 16:16:52 +02:00
Laurențiu Nicola
c15c22139f
Make Debug less verbose for VfsPath and use Display in analysis-stats
2020-06-24 14:07:03 +03:00
Aleksey Kladov
dad1333b48
New VFS
2020-06-23 17:51:06 +02:00
Aleksey Kladov
b9f3c5d585
Speedup VFS::partition
...
The task of `partition` function is to bin the flat list of paths into
disjoint filesets. Ideally, it should be incremental -- each new file
should be added to a specific fileset.
However, preliminary measurnments show that it is actually fast enough
if we just optimize this to use a binary search instead of a linear
scan.
2020-06-19 15:07:32 +02:00
Aleksey Kladov
c002322bde
New VFS API
2020-06-16 13:42:29 +02:00