53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
import {
|
|
window as Window
|
|
} from 'vscode';
|
|
|
|
const MESSAGES = {
|
|
INFO: {
|
|
message: 'Do you want to reload to apply Material Theme Icons to enjoy the full experience?',
|
|
options: {ok: 'Yeah, reload', autoreload: 'Yes and enable auto-reload', cancel: 'No, thank you', nomore: 'Never show again'}
|
|
},
|
|
CHANGELOG: {
|
|
message: 'Material Theme was updated. Check the release notes for more details.',
|
|
options: {ok: 'Show me', cancel: 'Maybe later'}
|
|
},
|
|
INSTALLATION: {
|
|
message: 'Thank you for installing Material Theme! Would you like to enable the auto-application (with window reload when needed) of the Material Theme icons?',
|
|
options: {ok: 'Sure!', cancel: 'Nope :('}
|
|
}
|
|
};
|
|
|
|
export const infoMessage = async () => {
|
|
const result = await Window.showInformationMessage(
|
|
MESSAGES.INFO.message,
|
|
MESSAGES.INFO.options.ok,
|
|
MESSAGES.INFO.options.autoreload,
|
|
MESSAGES.INFO.options.cancel,
|
|
MESSAGES.INFO.options.nomore
|
|
);
|
|
|
|
switch (result) {
|
|
case MESSAGES.INFO.options.ok:
|
|
return {reload: true};
|
|
case MESSAGES.INFO.options.autoreload:
|
|
return {reload: true, autoreload: true};
|
|
case MESSAGES.INFO.options.nomore:
|
|
return {nomore: true};
|
|
default:
|
|
return {};
|
|
}
|
|
};
|
|
|
|
export const changelogMessage = async () =>
|
|
await Window.showInformationMessage(
|
|
MESSAGES.CHANGELOG.message,
|
|
MESSAGES.CHANGELOG.options.ok,
|
|
MESSAGES.CHANGELOG.options.cancel
|
|
) === MESSAGES.CHANGELOG.options.ok;
|
|
|
|
export const installationMessage = async () =>
|
|
await Window.showInformationMessage(
|
|
MESSAGES.INSTALLATION.message,
|
|
MESSAGES.INSTALLATION.options.ok,
|
|
MESSAGES.INSTALLATION.options.cancel,
|
|
) === MESSAGES.INSTALLATION.options.ok;
|