Files
ry.kazcloud.dev/node_modules/@volar/language-server/lib/features/fileSystem.js
Ryan Kazokas d181f77fb2
All checks were successful
Build and Push / build (push) Successful in 55s
Updates dockerfile
2026-02-16 15:09:37 -05:00

61 lines
2.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = register;
const language_service_1 = require("@volar/language-service");
const vscode = require("vscode-languageserver");
const vscode_uri_1 = require("vscode-uri");
function register(documents, fileWatcher) {
const providers = new Map();
const readFileCache = (0, language_service_1.createUriMap)();
const statCache = (0, language_service_1.createUriMap)();
const readDirectoryCache = (0, language_service_1.createUriMap)();
documents.onDidSave(({ document }) => {
const uri = vscode_uri_1.URI.parse(document.uri);
readFileCache.set(uri, document.getText());
statCache.delete(uri);
});
fileWatcher.onDidChangeWatchedFiles(({ changes }) => {
for (const change of changes) {
const changeUri = vscode_uri_1.URI.parse(change.uri);
const dir = vscode_uri_1.URI.parse(change.uri.substring(0, change.uri.lastIndexOf('/')));
if (change.type === vscode.FileChangeType.Deleted) {
readFileCache.set(changeUri, undefined);
statCache.set(changeUri, undefined);
readDirectoryCache.delete(dir);
}
else if (change.type === vscode.FileChangeType.Changed) {
readFileCache.delete(changeUri);
statCache.delete(changeUri);
}
else if (change.type === vscode.FileChangeType.Created) {
readFileCache.delete(changeUri);
statCache.delete(changeUri);
readDirectoryCache.delete(dir);
}
}
});
return {
readFile(uri) {
if (!readFileCache.has(uri)) {
readFileCache.set(uri, providers.get(uri.scheme)?.readFile(uri));
}
return readFileCache.get(uri);
},
stat(uri) {
if (!statCache.has(uri)) {
statCache.set(uri, providers.get(uri.scheme)?.stat(uri));
}
return statCache.get(uri);
},
readDirectory(uri) {
if (!readDirectoryCache.has(uri)) {
readDirectoryCache.set(uri, providers.get(uri.scheme)?.readDirectory(uri) ?? []);
}
return readDirectoryCache.get(uri);
},
install(scheme, provider) {
providers.set(scheme, provider);
},
};
}
//# sourceMappingURL=fileSystem.js.map