aboutsummaryrefslogtreecommitdiff
path: root/crates/vfs/src
Commit message (Collapse)AuthorAgeFilesLines
* Replace ad hocery with scienceAleksey Kladov2020-07-072-56/+80
|
* Fix symbol search in salsaAleksey Kladov2020-07-071-19/+90
| | | | | | | | | | | | | | | | | | | | | | 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
* FileSetConfig works with empty set of rootsAleksey Kladov2020-07-011-1/+1
| | | | Closes #5139
* Make VFS join methods fallibleJonas Schievink2020-06-262-8/+10
|
* Less error-prone namingAleksey Kladov2020-06-241-4/+4
|
* Cleanup project.json deserializationAleksey Kladov2020-06-241-2/+2
|
* Make Debug less verbose for VfsPath and use Display in analysis-statsLaurențiu Nicola2020-06-241-2/+17
|
* New VFSAleksey Kladov2020-06-235-130/+67
|
* Speedup VFS::partitionAleksey Kladov2020-06-192-9/+26
| | | | | | | | | | 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.
* New VFS APIAleksey Kladov2020-06-166-0/+494