in Extension/src/LanguageServer/settingsPanel.ts [288:360]
private updateConfig(message: any): void {
const splitEntries: (input: any) => string[] = (input: any) => input.split("\n").filter((e: string) => e);
switch (message.key) {
case elementId.configName:
this.configValues.name = message.value;
break;
case elementId.compilerPath:
this.configValues.compilerPath = message.value;
break;
case elementId.compilerArgs:
this.configValues.compilerArgs = splitEntries(message.value);
break;
case elementId.includePath:
this.configValues.includePath = splitEntries(message.value);
break;
case elementId.defines:
this.configValues.defines = splitEntries(message.value);
break;
case elementId.intelliSenseMode:
if (message.value !== "${default}" || this.isIntelliSenseModeDefined) {
this.configValues.intelliSenseMode = message.value;
} else {
this.configValues.intelliSenseMode = undefined;
}
break;
case elementId.cStandard:
this.configValues.cStandard = message.value;
break;
case elementId.cppStandard:
this.configValues.cppStandard = message.value;
break;
case elementId.windowsSdkVersion:
this.configValues.windowsSdkVersion = message.value;
break;
case elementId.macFrameworkPath:
this.configValues.macFrameworkPath = splitEntries(message.value);
break;
case elementId.compileCommands:
this.configValues.compileCommands = message.value;
break;
case elementId.mergeConfigurations:
this.configValues.mergeConfigurations = message.value;
break;
case elementId.configurationProvider:
this.configValues.configurationProvider = message.value;
break;
case elementId.forcedInclude:
this.configValues.forcedInclude = splitEntries(message.value);
break;
case elementId.browsePath:
if (!this.configValues.browse) {
this.configValues.browse = {};
}
this.configValues.browse.path = splitEntries(message.value);
break;
case elementId.limitSymbolsToIncludedHeaders:
if (!this.configValues.browse) {
this.configValues.browse = {};
}
this.configValues.browse.limitSymbolsToIncludedHeaders = message.value;
break;
case elementId.databaseFilename:
if (!this.configValues.browse) {
this.configValues.browse = {};
}
this.configValues.browse.databaseFilename = message.value;
break;
}
this.configValuesChanged.fire();
this.logTelemetryForElement(message.key);
}