12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- declare var iLMparameters: any; // Tell Typescript iLMparameters is a global
- import Lexers from "./../../grammar/";
- import line_i18n from "line-i18n";
- import { Config } from "./../util/config";
- import {
- IVProgLexer,
- I18N_LANG_FUNCS,
- I18N_LANG_LIBS,
- } from "../../grammar/lexer";
- class LanguageServiceExtended extends line_i18n.LanguageServiceNoLS {
- constructor() {
- super(
- typeof iLMparameters === "undefined"
- ? Config.default_lang
- : iLMparameters.lang
- );
- }
- getDefaultLang(): string {
- return "en";
- }
- getCurrentLexer(): IVProgLexer {
- const langLexer = Lexers[this.getLang()];
- if (langLexer === null || langLexer === undefined) {
- return Lexers[this.getDefaultLang()];
- } else {
- return langLexer;
- }
- }
- getCurrentLangFuncs(): I18N_LANG_FUNCS {
- const langInfo = Lexers[this.getLang()];
- if (langInfo === null || langInfo === undefined) {
- return Lexers[this.getDefaultLang()].getLangFuncs();
- } else {
- return langInfo.getLangFuncs();
- }
- }
- getCurrentLangLibs(): I18N_LANG_LIBS {
- const langInfo = Lexers[this.getLang()];
- if (langInfo === null || langInfo === undefined) {
- return Lexers[this.getDefaultLang()].getLangLibs();
- }
- return langInfo.getLangLibs();
- }
- }
- export const LanguageService = new LanguageServiceExtended();
|