aboutsummaryrefslogtreecommitdiff
path: root/crates/vfs/src
Commit message (Collapse)AuthorAgeFilesLines
* Avoid duplicating VfsPath in vfs::path_interner::PathInterner by using an ↵Alexandru Macovei2021-04-061-13/+16
| | | | IndexSet
* Fix slow tests sometimes failingFlorian Diebold2021-02-121-2/+6
| | | | | | | | | | In some situations we reloaded the workspace in the tests after having reported to be ready. There's two fixes here: 1. Add a version to the VFS config and include that version in progress reports, so that we don't think we're done prematurely; 2. Delay status transitions until after changes are applied. Otherwise the last change during loading can potentially trigger a workspace reload, if it contains interesting changes.
* Document vfs private itemsArnaud2021-01-125-2/+117
|
* Document vfs public itemsArnaud2021-01-125-2/+204
|
* Use `file_set::FileSet` and `FileSet` consistently in docArnaud2021-01-071-5/+5
| | | | | The first occurrence of `FileSet` has the full path (`file_set::FileSet`), while every other is simply `FileSet`.
* Use intra-doc links in `vfs` crate documentationArnaud2021-01-071-20/+26
|
* Remove the reference to `WalkdirLoaderHandle` in vfs documentationArnaud2021-01-071-3/+0
| | | | This structure was deleted in commit #dad1333
* Merge #6785bors[bot]2020-12-091-4/+5
|\ | | | | | | | | | | | | | | | | | | | | | | 6785: Fix "no value set for FileTextQuery(FileId(..))" r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6622 Let's hope I got it right this time, but I feel like I slowly begin to understand the main loop logic. bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * Fix "no value set for FileTextQuery(FileId(..))"Jonas Schievink2020-12-091-4/+5
| |
* | .Aleksey Kladov2020-12-093-5/+48
|/
* Extract tests module to file in vfs crateDaiki Ihara2020-11-304-82/+74
|
* Remove more unreachable pubsAleksey Kladov2020-11-021-2/+2
|
* Deny unreachable-pubAleksey Kladov2020-11-021-1/+1
| | | | | | | | It's very useful when `pub` is equivalent to "this is crate's public API", let's enforce this! Ideally, we should enforce it for local `cargo test`, and only during CI, but that needs https://github.com/rust-lang/cargo/issues/5034.
* Rename the method to avoid false promisesKirill Bulatov2020-09-091-12/+10
|
* Add VirtualPath testsKirill Bulatov2020-09-091-3/+38
|
* 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
|
* Implement file name & extension retrieval method for VirtualPathKirill Bulatov2020-09-091-2/+20
|
* Small refactoringKirill Bulatov2020-09-091-11/+11
|
* Happy path implementedKirill Bulatov2020-09-092-13/+17
|
* Properly use FileSet APIKirill Bulatov2020-09-092-28/+41
|
* Better APIKirill Bulatov2020-09-092-14/+29
|
* First steps for mod<|> completionKirill Bulatov2020-09-091-2/+25
|
* Sophisticate Windows path encodingArmin Sander2020-08-141-7/+132
|
* Add one more testAleksey Kladov2020-07-261-21/+50
|
* Expose package roots more directlyAleksey Kladov2020-07-211-1/+1
|
* SimplifyAleksey Kladov2020-07-201-9/+5
|
* Simplify exclusion logicAleksey Kladov2020-07-181-9/+73
|
* Minor, push allocations downAleksey Kladov2020-07-142-3/+3
|
* Optimize VFS processingAleksey Kladov2020-07-101-1/+1
|
* Also reload when adding new examples, tests, etcAleksey Kladov2020-07-101-1/+1
|
* 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