forked from external/vscode-xml
Remove Update Notifier
This commit is contained in:
parent
f11a188092
commit
1b9caa3265
@ -3,12 +3,8 @@
|
|||||||
import { commands, languages, ExtensionContext } from 'vscode';
|
import { commands, languages, ExtensionContext } from 'vscode';
|
||||||
import { linearizeXml, XmlDocumentFormattingProvider, XmlRangeFormattingProvider } from './features/xmlFormatting';
|
import { linearizeXml, XmlDocumentFormattingProvider, XmlRangeFormattingProvider } from './features/xmlFormatting';
|
||||||
import { evaluateXPath } from './features/xmlXPathEngine';
|
import { evaluateXPath } from './features/xmlXPathEngine';
|
||||||
import { checkForUpdates } from './utils/UpdateNotifier';
|
|
||||||
|
|
||||||
export function activate(ctx: ExtensionContext) {
|
export function activate(ctx: ExtensionContext) {
|
||||||
// check for update
|
|
||||||
checkForUpdates();
|
|
||||||
|
|
||||||
// register palette commands
|
// register palette commands
|
||||||
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.linearizeXml', linearizeXml));
|
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.linearizeXml', linearizeXml));
|
||||||
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.evaluateXPath', evaluateXPath));
|
ctx.subscriptions.push(commands.registerTextEditorCommand('xmltools.evaluateXPath', evaluateXPath));
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
import { extensions, Extension } from 'vscode';
|
|
||||||
|
|
||||||
export class ExtensionManifestReader {
|
|
||||||
constructor(extensionId: string) {
|
|
||||||
this._extension = extensions.getExtension(extensionId);
|
|
||||||
this.refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
private _extension: Extension<any>
|
|
||||||
|
|
||||||
name: string;
|
|
||||||
version: string;
|
|
||||||
publisher: string;
|
|
||||||
displayName: string;
|
|
||||||
description: string;
|
|
||||||
categories: string[];
|
|
||||||
keywords: string[];
|
|
||||||
icon: string;
|
|
||||||
|
|
||||||
refresh(): void {
|
|
||||||
let manifest = this._extension.packageJSON;
|
|
||||||
|
|
||||||
this.name = manifest.name;
|
|
||||||
this.version = manifest.version;
|
|
||||||
this.publisher = manifest.publisher;
|
|
||||||
this.displayName = manifest.displayName;
|
|
||||||
this.description = manifest.description;
|
|
||||||
this.categories = manifest.categories;
|
|
||||||
this.keywords = manifest.keywords;
|
|
||||||
this.icon = manifest.icon;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
import { window, commands } from 'vscode';
|
|
||||||
import { ExtensionManifestReader } from './ManifestUtils';
|
|
||||||
|
|
||||||
let req = require('request');
|
|
||||||
let semver = require('semver');
|
|
||||||
|
|
||||||
export function checkForUpdates() {
|
|
||||||
let manifestReader: ExtensionManifestReader = new ExtensionManifestReader('DotJoshJohnson.xml');
|
|
||||||
let currentVersion = manifestReader.version;
|
|
||||||
|
|
||||||
// use the GitHub api to determine the latest released version
|
|
||||||
let url = 'https://api.github.com/repos/DotJoshJohnson/vscode-xml/releases/latest';
|
|
||||||
let options = {
|
|
||||||
url: url,
|
|
||||||
headers: {
|
|
||||||
// the GitHub API requires a user agent header
|
|
||||||
// we are spoofing a Chrome user agent string here
|
|
||||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
req(options, (error, response, body) => {
|
|
||||||
if (!error && response.statusCode == 200) {
|
|
||||||
let release = JSON.parse(body);
|
|
||||||
let latestVersion = release.name.substring(1); // the release/tag is prefixed with a "v"
|
|
||||||
|
|
||||||
if (!release.draft && semver.gt(latestVersion, currentVersion)) {
|
|
||||||
let updateNowLabel = 'Open Extension Manager';
|
|
||||||
window.showInformationMessage(`Version ${latestVersion} of the ${manifestReader.displayName} extension is available.`, updateNowLabel).then((clicked) => {
|
|
||||||
if (clicked == updateNowLabel) {
|
|
||||||
commands.executeCommand('workbench.extensions.action.listExtensions', manifestReader.displayName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
else {
|
|
||||||
console.log('XML Tools: Failed to get latest release information from GitHub.');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user