Better notification

This commit is contained in:
Elio Struyf
2021-09-23 08:41:09 +02:00
parent 09e5f3aa7f
commit 0e13a3783f
+19 -3
View File
@@ -1,7 +1,7 @@
import { basename } from "path";
import { extensions, Uri, ExtensionContext } from "vscode";
import { extensions, Uri, ExtensionContext, window, workspace, commands } from "vscode";
import { Folders, WORKSPACE_PLACEHOLDER } from "../commands/Folders";
import { SETTINGS_CONTENT_FOLDERS, SETTINGS_CONTENT_PAGE_FOLDERS, SETTING_DATE_FIELD, SETTING_MODIFIED_FIELD, SETTING_SEO_DESCRIPTION_FIELD, SETTING_TAXONOMY_CONTENT_TYPES } from "../constants";
import { EXTENSION_NAME, SETTINGS_CONTENT_FOLDERS, SETTINGS_CONTENT_PAGE_FOLDERS, SETTING_DATE_FIELD, SETTING_MODIFIED_FIELD, SETTING_SEO_DESCRIPTION_FIELD, SETTING_TAXONOMY_CONTENT_TYPES } from "../constants";
import { DEFAULT_CONTENT_TYPE_NAME } from "../constants/ContentType";
import { EXTENSION_BETA_ID, EXTENSION_ID, EXTENSION_STATE_VERSION } from "../constants/Extension";
import { ContentType } from "../models";
@@ -39,7 +39,23 @@ export class Extension {
}
if (usedVersion !== installedVersion) {
Notifications.info(`Find out what is new at [v${installedVersion} release notes](https://${this.isBetaVersion() ? 'beta.' : ''}frontmatter.codes/updates)`);
const whatIsNewTitle = `Check the changelog`;
const whatIsNew = {
title: whatIsNewTitle,
run: () => {
const uri = Uri.file(`${Extension.getInstance().extensionPath.fsPath}/CHANGELOG.md`);
workspace.openTextDocument(uri).then((() => {
commands.executeCommand("markdown.showPreview", uri)
}));
}
};
window.showInformationMessage(`${EXTENSION_NAME} has been updated to v${installedVersion} — check out what's new!`, whatIsNew).then((selection => {
if (selection?.title === whatIsNewTitle) {
selection.run();
}
}));
this.setVersion(installedVersion);
}