summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Schlosser <christoph@linux.com>2019-06-29 00:10:15 +0200
committerChristoph Schlosser <christophschlosser@users.noreply.github.com>2019-06-29 00:20:59 +0200
commit4f1266f369a1a82ce5c17a2459fb731941b1b4ce (patch)
tree886a569c14beeee299295787abfa829d1880b2f0
parent75e169ef3aebcf7a75edba4fa28bee370782b00b (diff)
downloaddoxdocgen-4f1266f369a1a82ce5c17a2459fb731941b1b4ce.tar.gz
Release 0.5.0
-rw-r--r--package.json2
-rw-r--r--src/extension.ts36
2 files changed, 35 insertions, 3 deletions
diff --git a/package.json b/package.json
index 59f776b..8a0a9d6 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "doxdocgen",
"displayName": "Doxygen Documentation Generator",
"description": "Let me generate Doxygen documentation from your source code for you.",
- "version": "0.4.3",
+ "version": "0.5.0",
"publisher": "cschlosser",
"engines": {
"vscode": "^1.16.0"
diff --git a/src/extension.ts b/src/extension.ts
index 347b392..8199845 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -1,12 +1,19 @@
"use strict";
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
+import * as opn from "opn";
import * as vscode from "vscode";
import CodeParserController from "./CodeParserController";
+enum AlignmentNotificationOptions {
+ CHANGED = "Show me how to do that",
+ HIDE = "Don't show me again",
+ GLOBAL_STORAGE_KEY = "doxdocgen_hide_alignment_notification",
+}
+
enum Version {
- CURRENT = "0.4.3",
- PREVIOUS = "0.4.2",
+ CURRENT = "0.5.0",
+ PREVIOUS = "0.4.3",
KEY = "doxdocgen_version",
}
@@ -17,10 +24,35 @@ export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(parser);
+ let change: boolean = false;
const version = context.globalState.get<string>(Version.KEY);
if (version === undefined) {
context.globalState.update(Version.KEY, Version.CURRENT);
} else if (version !== Version.CURRENT) {
+ if (parseInt(version.split(".")[1], 10) < 5) {
+ change = true;
+ }
context.globalState.update(Version.KEY, Version.CURRENT);
}
+ let notificationHideThenable: Thenable<string>;
+ const active = context.globalState.get<string>(AlignmentNotificationOptions.GLOBAL_STORAGE_KEY);
+ if (change && (active === undefined || active !== "false")) {
+ // tslint:disable-next-line:max-line-length
+ notificationHideThenable =
+ vscode.window.showWarningMessage("DoxDocGen: I can now align your comments",
+ AlignmentNotificationOptions.CHANGED,
+ AlignmentNotificationOptions.HIDE);
+ }
+
+ if (notificationHideThenable !== undefined) {
+ notificationHideThenable.then((action) => {
+ if (action === AlignmentNotificationOptions.CHANGED) {
+ // tslint:disable-next-line:max-line-length
+ opn("https://github.com/christophschlosser/doxdocgen/blob/master/CHANGELOG.md#alignment");
+ } else if (action === AlignmentNotificationOptions.HIDE) {
+ context.globalState.update(AlignmentNotificationOptions.GLOBAL_STORAGE_KEY, "false");
+ }
+ });
+ }
+
}