vuejs/vetur

Centralize all file system access in VLS

octref opened this issue · 2 comments

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

image
Looking forward to see this issue fixed with PR and new version published.
Thank you for your great efforts you invest in this (and other) OSS projects!

Outdated and won't do any more.