in src/mapper.ts [86:119]
private appendDefaultSublimeSettings(settings: CategorizedSettings, defaultSettings: VscodeSetting[], config: vscode.WorkspaceConfiguration): CategorizedSettings {
const mappedAndExisting: MappedSetting[] = [...settings.mappedSettings, ...settings.alreadyExisting];
// filter out default settings that will be imported as mapped settings or already exist in the user settings
const uniqueDefaultSettings = mappedAndExisting.length
? defaultSettings.filter(defaultSetting => !mappedAndExisting.find(mappedSetting => mappedSetting.vscode.name === defaultSetting.name))
: defaultSettings;
// don't show settings that already exist in user config
uniqueDefaultSettings.forEach(defaultSetting => {
const configTest = this.checkWithExistingSettings(defaultSetting, config);
if (configTest.alreadyExists) {
settings.alreadyExisting.push(new MappedSetting({ name: 'Default Setting', value: '' }, defaultSetting));
} else {
if (configTest.existingValue) {
defaultSetting.markAsOverride(configTest.existingValue);
}
settings.defaultSettings.push(defaultSetting);
}
});
settings.defaultSettings.sort((a, b) => {
if (a.overwritesValue && b.overwritesValue) {
return a.name.localeCompare(b.name);
} else if (a.overwritesValue) {
return 1;
} else if (b.overwritesValue) {
return -1;
}
return a.name.localeCompare(b.name);
});
return settings;
}