19 个版本 (5 个破坏性版本)
0.6.1 | 2020年5月10日 |
---|---|
0.5.3 | 2020年3月16日 |
0.5.2 | 2019年11月26日 |
0.2.5 | 2019年6月19日 |
0.2.1 | 2019年3月26日 |
#7 in #rust-analyzer
每月下载量 261 次
36KB
737 代码行
ra_vfs
为 rust-analyzer 提供的虚拟文件系统抽象。
由于我们希望分离 CI,因此该组件位于主要的 rust-analyzer 仓库之外。VFS 极度依赖于平台,因此对其的 CI 通常会更长且更脆弱。
lib.rs
:
VFS 代表虚拟文件系统。
在进行分析时,我们不想进行任何 I/O,我们希望将所有源代码保存在内存中。然而,实际的源代码存储在磁盘上,因此您需要首先以某种方式将其放入内存。VFS 是负责此操作的功能组件。
它还负责监视磁盘上的更改,并将编辑器状态(已修改、未保存的文件)与磁盘状态合并。
待办事项:一些 LSP 客户端支持监视磁盘,因此该包应该支持自定义监视事件(与 https://github.com/rust-analyzer/rust-analyzer/issues/131 相关)
VFS 基于根的概念:一组监视更改的文件系统目录。通常,每个 Cargo 包都会有一个根。
依赖关系
~1.5–9MB
~73K SLoC