public Task <Unit> Handle(DidChangeConfigurationParams configChangeParams, CancellationToken token) { var json = configChangeParams.Settings?.SelectToken("ostw") as JObject; if (json != null) { dynamic config = json; ReferencesCodeLens = config.codelens.references; ImplementsCodeLens = config.codelens.implements; ElementCountCodeLens = config.codelens.elementCount; OutputLanguage = GetOutputLanguage(config.outputLanguage); LanguageInfo.LoadLanguage(OutputLanguage); OptimizeOutput = config.optimizeOutput; } return(Unit.Task); OutputLanguage GetOutputLanguage(string languageString) { switch (languageString) { case "English": return(OutputLanguage.enUS); case "German": return(OutputLanguage.deDE); case "Spanish (Castilian)": return(OutputLanguage.esES); case "Spanish (Mexico)": return(OutputLanguage.esMX); case "French": return(OutputLanguage.frFR); case "Italian": return(OutputLanguage.itIT); case "Japanese": return(OutputLanguage.jaJP); case "Korean": return(OutputLanguage.koKR); case "Polish": return(OutputLanguage.plPL); case "Portuguese": return(OutputLanguage.ptBR); case "Russian": return(OutputLanguage.ruRU); case "Chinese (S)": return(OutputLanguage.zhCN); case "Chinese (T)": return(OutputLanguage.zhTW); default: return(OutputLanguage.enUS); } } }