This commit is contained in:
54
node_modules/@volar/language-server/lib/features/textDocuments.js
generated
vendored
54
node_modules/@volar/language-server/lib/features/textDocuments.js
generated
vendored
@@ -1,54 +0,0 @@
|
||||
"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
|
||||
Reference in New Issue
Block a user