/* global iLMparameters*/ import Lexers from "./../../grammar/"; import line_i18n from "line-i18n"; import { Config } from "./../util/config"; class LanguageServiceExtended extends line_i18n.LanguageServiceNoLS { constructor () { super( typeof iLMparameters === "undefined" ? Config.default_lang : iLMparameters.lang ); } getDefaultLang () { return "en"; } getCurrentLexer () { const langInfo = Lexers[this.getLang()]; if (langInfo === null || langInfo === undefined) { return Lexers[this.getDefaultLang()].lexer; } else { return langInfo.lexer; } } getCurrentLangFuncs () { const langInfo = Lexers[this.getLang()]; if (langInfo === null || langInfo === undefined) { return Lexers[this.getDefaultLang()].langFuncs; } else { return langInfo.langFuncs; } } getCurrentLangLibs () { const langInfo = Lexers[this.getLang()]; if (langInfo === null || langInfo === undefined) { return Lexers[this.getDefaultLang()].langLibs; } return langInfo.langLibs; } } export const LanguageService = new LanguageServiceExtended();