/******************************************************************************
 * This file was generated by langium-cli 3.3.0.
 * DO NOT EDIT MANUALLY!
 ******************************************************************************/

import type { LangiumSharedCoreServices, LangiumCoreServices, LangiumGeneratedCoreServices, LangiumGeneratedSharedCoreServices, LanguageMetaData, Module, IParserConfig } from 'langium';
import { LikeC4AstReflection } from './ast';
import { LikeC4Grammar } from './grammar';

export const LikeC4LanguageMetaData = {
    languageId: 'likec4',
    fileExtensions: ['.c4', '.likec4', '.like-c4'],
    caseInsensitive: false,
    mode: 'production'
} as const satisfies LanguageMetaData;

export const parserConfig: IParserConfig = {
    skipValidations: true,
    recoveryEnabled: true,
    nodeLocationTracking: 'full',
};

export const LikeC4GeneratedSharedModule: Module<LangiumSharedCoreServices, LangiumGeneratedSharedCoreServices> = {
    AstReflection: () => new LikeC4AstReflection()
};

export const LikeC4GeneratedModule: Module<LangiumCoreServices, LangiumGeneratedCoreServices> = {
    Grammar: () => LikeC4Grammar(),
    LanguageMetaData: () => LikeC4LanguageMetaData,
    parser: {
        ParserConfig: () => parserConfig
    }
};
