aboutsummaryrefslogtreecommitdiff
path: root/crates/vfs/src/file_set.rs
Commit message (Collapse)AuthorAgeFilesLines
* Move rust-related logic from vfs to base_db levelKirill Bulatov2020-09-091-60/+5
|
* Properly handle special cases (binaries, mod.rs)Kirill Bulatov2020-09-091-26/+58
|
* Small refactoringKirill Bulatov2020-09-091-11/+11
|
* Happy path implementedKirill Bulatov2020-09-091-6/+11
|
* Properly use FileSet APIKirill Bulatov2020-09-091-21/+25
|
* Better APIKirill Bulatov2020-09-091-14/+14
|
* First steps for mod<|> completionKirill Bulatov2020-09-091-2/+25
|
* Add one more testAleksey Kladov2020-07-261-21/+50
|
* Minor, push allocations downAleksey Kladov2020-07-141-1/+1
|
* Replace ad hocery with scienceAleksey Kladov2020-07-071-56/+49
|
* 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-261-1/+1
|
* New VFSAleksey Kladov2020-06-231-10/+5
|
* Speedup VFS::partitionAleksey Kladov2020-06-191-9/+23
| | | | | | | | | | 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-161-0/+99