82cfb4587b
* chore: small cleanup helper * chore: adding interfaces for icon variants * feat: You can now switch between Material Theme icons * chore: helpers small fix * chore(helpers): small fix helpers * refactor: refactoring fixIcons command, ready for new prop autoFix * refactor: accentsSetter command, ready for autoFix prop * chore: added new exports file for all commands * refactor: main theme file, ready for autoFix prop * chore: added listener also when changing iconTheme * feat: autoApplyIcons added as option and toggleApplyIcons as command * chore: added check for autoApplyIcons flag. Removed listen icon change * feat: Notification shows up when the window needs reload * chore: Update CTA's * chore: Make consistent indent guides and add support to editorIndentGuide.activeBackground Close #188 * chore: fix check on CTA ok * chore: split up configurationChange and changelog (added to commands) * chore: small change settings method * feat: Now the theme will auto fix if needed on change icons theme
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import {
|
|
ConfigurationChangeEvent
|
|
} from 'vscode';
|
|
import {getCustomSettings, isMaterialThemeIcons, isAutoApplyEnable, isMaterialTheme} from './settings';
|
|
import {getCurrentThemeIconsID, getCurrentThemeID} from './vscode';
|
|
|
|
import * as ThemeCommands from './../commands';
|
|
import {infoMessage} from './messages';
|
|
|
|
const icons = () => isAutoApplyEnable() ? ThemeCommands.fixIcons() : infoMessage();
|
|
|
|
const onIconsChanged = () => {
|
|
const customSettings = getCustomSettings();
|
|
if (customSettings.fixIconsRunning) {
|
|
return;
|
|
}
|
|
|
|
const currentIconsTheme = getCurrentThemeIconsID();
|
|
if (isMaterialThemeIcons(currentIconsTheme)) {
|
|
return icons();
|
|
}
|
|
};
|
|
|
|
const onThemeChanged = () => {
|
|
const currentTheme = getCurrentThemeID();
|
|
if (isMaterialTheme(currentTheme)) {
|
|
return icons();
|
|
}
|
|
};
|
|
|
|
export const onChangeConfiguration = (event: ConfigurationChangeEvent) => {
|
|
const isColorTheme = event.affectsConfiguration('workbench.colorTheme');
|
|
const isIconTheme = event.affectsConfiguration('workbench.iconTheme');
|
|
|
|
if (isIconTheme) {
|
|
return onIconsChanged();
|
|
}
|
|
|
|
if (isColorTheme) {
|
|
return onThemeChanged();
|
|
}
|
|
};
|