astro-ghostcms/.pnpm-store/v3/files/76/6b1017635ebee3634cb0d2f2e66...

33 lines
1.3 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSimpleServerProject = void 0;
const language_service_1 = require("@volar/language-service");
async function createSimpleServerProject(context, serviceEnv, serverOptions, servicePlugins) {
let languageService;
const languagePlugins = await serverOptions.getLanguagePlugins(serviceEnv, {});
return {
serviceEnv,
getLanguageService,
getLanguageServiceDontCreate: () => languageService,
dispose() {
languageService?.dispose();
},
};
function getLanguageService() {
if (!languageService) {
const files = (0, language_service_1.createFileRegistry)(languagePlugins, false, uri => {
const script = context.documents.get(uri);
if (script) {
files.set(uri, script.languageId, script.getSnapshot());
}
else {
files.delete(uri);
}
});
languageService = (0, language_service_1.createLanguageService)({ files }, servicePlugins, serviceEnv);
}
return languageService;
}
}
exports.createSimpleServerProject = createSimpleServerProject;
//# sourceMappingURL=simpleProject.js.map