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
38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
import {
|
|
workspace as Workspace,
|
|
commands as Commands
|
|
} from 'vscode';
|
|
|
|
import * as ThemeCommands from './commands';
|
|
import {isAutoApplyEnable} from './helpers/settings';
|
|
import {onChangeConfiguration} from './helpers/configuration-change';
|
|
import {infoMessage} from './helpers/messages';
|
|
import shouldShowChangelog from './helpers/should-show-changelog';
|
|
|
|
export function activate() {
|
|
const config = Workspace.getConfiguration();
|
|
|
|
// Listen on set theme: when the theme is Material Theme, just adjust icon and accent.
|
|
Workspace.onDidChangeConfiguration(onChangeConfiguration);
|
|
|
|
// Delete old configuration, must remove with next major release
|
|
if (config.has('materialTheme.cache.workbench')) {
|
|
config.update('materialTheme.cache.workbench', undefined, true);
|
|
}
|
|
|
|
if (shouldShowChangelog()) {
|
|
ThemeCommands.showChangelog();
|
|
}
|
|
|
|
// Registering commands
|
|
Commands.registerCommand('materialTheme.setAccent', async () => {
|
|
const wasSet = await ThemeCommands.accentsSetter();
|
|
|
|
if (wasSet) {
|
|
return isAutoApplyEnable() ? ThemeCommands.fixIcons() : infoMessage();
|
|
}
|
|
});
|
|
Commands.registerCommand('materialTheme.fixIcons', () => ThemeCommands.fixIcons());
|
|
Commands.registerCommand('materialTheme.toggleApplyIcons', () => ThemeCommands.toggleApplyIcons());
|
|
Commands.registerCommand('materialTheme.showChangelog', () => ThemeCommands.showChangelog());
|
|
}
|