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

Download history 34/week @ 2024-03-25 58/week @ 2024-04-01 2/week @ 2024-05-20 2/week @ 2024-05-27

每月下载量 261 次

Apache-2.0 OR MIT

36KB
737 代码行

ra_vfs

Build Status

为 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