module.jsā¢1.69 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InfoModule = void 0;
exports.createInfoServices = createInfoServices;
const langium_1 = require("langium");
const index_js_1 = require("../common/index.js");
const module_js_1 = require("../generated/module.js");
const tokenBuilder_js_1 = require("./tokenBuilder.js");
/**
* Dependency injection module that overrides Langium default services and
* contributes the declared `Info` services.
*/
exports.InfoModule = {
parser: {
TokenBuilder: () => new tokenBuilder_js_1.InfoTokenBuilder(),
ValueConverter: () => new index_js_1.CommonValueConverter(),
},
};
/**
* Create the full set of services required by Langium.
*
* First inject the shared services by merging two modules:
* - Langium default shared services
* - Services generated by langium-cli
*
* Then inject the language-specific services by merging three modules:
* - Langium default language-specific services
* - Services generated by langium-cli
* - Services specified in this file
* @param context - Optional module context with the LSP connection
* @returns An object wrapping the shared services and the language-specific services
*/
function createInfoServices(context = langium_1.EmptyFileSystem) {
const shared = (0, langium_1.inject)((0, langium_1.createDefaultSharedCoreModule)(context), module_js_1.MermaidGeneratedSharedModule);
const Info = (0, langium_1.inject)((0, langium_1.createDefaultCoreModule)({ shared }), module_js_1.InfoGeneratedModule, exports.InfoModule);
shared.ServiceRegistry.register(Info);
return { shared, Info };
}
//# sourceMappingURL=module.js.map