Skip to content

Centralize all file system access in VLS #800

@octref

Description

@octref

Motivation

Currently Vetur's file system access is scattered throughout the code. However, we also use TextDocuments from https://github.com/Microsoft/vscode-languageserver-node to track LSP documents, and with the new FileEvents generated through VS Code file watcher, it's time to put these all together.

Benefits

  • All file access / events in one place. Easier to track, log, do perf analysis, etc
  • Possible to use in-memory / virtual FS system with VLS
  • Easier to manage the "virtual files" we generate for each region in Vue files
  • Possible to reduce chattiness of LSP by switching to Incremental Syncing
  • Possible to listen to changes by granularity of Vue regions (as compared to currently letting each file change triggering all features in file)

Fixes

Unblocks

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions