49 lines
1.9 KiB
JavaScript
49 lines
1.9 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createSimpleProject = createSimpleProject;
|
|
exports.createLanguageServiceEnvironment = createLanguageServiceEnvironment;
|
|
const language_service_1 = require("@volar/language-service");
|
|
function createSimpleProject(languagePlugins) {
|
|
let server;
|
|
let languageService;
|
|
return {
|
|
setup(_server) {
|
|
server = _server;
|
|
const language = (0, language_service_1.createLanguage)([
|
|
{ getLanguageId: uri => server.documents.get(uri)?.languageId },
|
|
...languagePlugins,
|
|
], (0, language_service_1.createUriMap)(false), uri => {
|
|
const document = server.documents.get(uri);
|
|
if (document) {
|
|
language.scripts.set(uri, document.getSnapshot(), document.languageId);
|
|
}
|
|
else {
|
|
language.scripts.delete(uri);
|
|
}
|
|
});
|
|
languageService = (0, language_service_1.createLanguageService)(language, server.languageServicePlugins, createLanguageServiceEnvironment(server, server.workspaceFolders.all), {});
|
|
},
|
|
getLanguageService() {
|
|
return languageService;
|
|
},
|
|
getExistingLanguageServices() {
|
|
return [languageService];
|
|
},
|
|
reload() {
|
|
languageService.dispose();
|
|
this.setup(server);
|
|
},
|
|
};
|
|
}
|
|
function createLanguageServiceEnvironment(server, workspaceFolders) {
|
|
return {
|
|
workspaceFolders,
|
|
fs: server.fileSystem,
|
|
locale: server.initializeParams?.locale,
|
|
clientCapabilities: server.initializeParams?.capabilities,
|
|
getConfiguration: server.configurations.get,
|
|
onDidChangeConfiguration: server.configurations.onDidChange,
|
|
onDidChangeWatchedFiles: server.fileWatcher.onDidChangeWatchedFiles,
|
|
};
|
|
}
|
|
//# sourceMappingURL=simpleProject.js.map
|