diff --git a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts index cbabfd24a9cfe007d915ffd4e141b538b5b4e04d..96665331f4bd82b19d13a069c4ceb3062624efb5 100644 --- a/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts +++ b/src/vs/workbench/parts/update/electron-browser/releaseNotesEditor.ts @@ -7,7 +7,6 @@ import { onUnexpectedError } from 'vs/base/common/errors'; import * as marked from 'vs/base/common/marked/marked'; import { OS } from 'vs/base/common/platform'; import { URI } from 'vs/base/common/uri'; -import { TPromise } from 'vs/base/common/winjs.base'; import { asText } from 'vs/base/node/request'; import { TokenizationRegistry, ITokenizationSupport } from 'vs/editor/common/modes'; import { generateTokensCSSForColorMap } from 'vs/editor/common/modes/supports/tokenization'; @@ -48,7 +47,7 @@ function renderBody( export class ReleaseNotesManager { - private _releaseNotesCache: { [version: string]: TPromise; } = Object.create(null); + private _releaseNotesCache: { [version: string]: Thenable; } = Object.create(null); private _currentReleaseNotes: WebviewEditorInput | undefined = undefined; private _lastText: string; @@ -111,12 +110,10 @@ export class ReleaseNotesManager { return true; } - private loadReleaseNotes( - version: string - ): TPromise { + private loadReleaseNotes(version: string): Thenable { const match = /^(\d+\.\d+)\./.exec(version); if (!match) { - return TPromise.wrapError(new Error('not found')); + return Promise.reject(new Error('not found')); } const versionLabel = match[1].replace(/\./g, '_'); @@ -161,10 +158,10 @@ export class ReleaseNotesManager { .then(asText) .then(text => { if (!/^#\s/.test(text)) { // release notes always starts with `#` followed by whitespace - return TPromise.wrapError(new Error('Invalid release notes')); + return Promise.reject(new Error('Invalid release notes')); } - return TPromise.wrap(text); + return Promise.resolve(text); }) .then(text => patchKeybindings(text)); } @@ -191,8 +188,8 @@ export class ReleaseNotesManager { return marked(text, { renderer }); } - private async getRenderer(text: string) { - let result: TPromise[] = []; + private async getRenderer(text: string): Promise { + let result: Thenable[] = []; const renderer = new marked.Renderer(); renderer.code = (code, lang) => { const modeId = this._modeService.getModeIdForLanguageName(lang); @@ -204,7 +201,7 @@ export class ReleaseNotesManager { }; marked(text, { renderer }); - await TPromise.join(result); + await Promise.all(result); renderer.code = (code, lang) => `${tokenizeToString(code, TokenizationRegistry.get(lang))}`; return renderer;