Files
ry.kazcloud.dev/node_modules/@volar/language-server/lib/features/textDocuments.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

54 lines
2.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = register;
const vscode = require("vscode-languageserver");
const vscode_uri_1 = require("vscode-uri");
const snapshotDocument_1 = require("../utils/snapshotDocument");
function register(server) {
const syncedDocumentParsedUriToUri = new Map();
const documentsCache = new Map();
const documents = new vscode.TextDocuments({
create(uri, languageId, version, text) {
const cache = documentsCache.get(uri)?.deref();
if (cache && cache.languageId === languageId && cache.version === version && cache.getText() === text) {
return cache;
}
const document = new snapshotDocument_1.SnapshotDocument(uri, languageId, version, text);
documentsCache.set(uri, new WeakRef(document));
return document;
},
update(snapshot, contentChanges, version) {
snapshot.update(contentChanges, version);
return snapshot;
},
});
documents.listen(server.connection);
documents.onDidOpen(({ document }) => {
const parsedUri = vscode_uri_1.URI.parse(document.uri);
syncedDocumentParsedUriToUri.set(parsedUri.toString(), document.uri);
});
documents.onDidClose(({ document }) => {
const parsedUri = vscode_uri_1.URI.parse(document.uri);
syncedDocumentParsedUriToUri.delete(parsedUri.toString());
});
server.onInitialize(serverCapabilities => {
serverCapabilities.textDocumentSync = vscode.TextDocumentSyncKind.Incremental;
});
return {
all: documents.all.bind(documents),
onDidChangeContent: documents.onDidChangeContent.bind(documents),
onDidOpen: documents.onDidOpen.bind(documents),
onDidClose: documents.onDidClose.bind(documents),
onDidSave: documents.onDidSave.bind(documents),
get(uri) {
return documents.get(getSyncedDocumentKey(uri) ?? uri.toString());
},
};
function getSyncedDocumentKey(uri) {
const originalUri = syncedDocumentParsedUriToUri.get(uri.toString());
if (originalUri) {
return originalUri;
}
}
}
//# sourceMappingURL=textDocuments.js.map