/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ 'use strict'; import { TPromise } from 'vs/base/common/winjs.base'; import { marked } from 'vs/base/common/marked/marked'; import { always } from 'vs/base/common/async'; import URI from 'vs/base/common/uri'; import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle'; import { Builder } from 'vs/base/browser/builder'; import { append, $, addClass, removeClass } from 'vs/base/browser/dom'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { IThemeService } from 'vs/workbench/services/themes/common/themeService'; import { ReleaseNotesInput } from './releaseNotesInput'; import { EditorOptions } from 'vs/workbench/common/editor'; import WebView from 'vs/workbench/parts/html/browser/webview'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IOpenerService } from 'vs/platform/opener/common/opener'; import { asText } from 'vs/base/node/request'; import { Keybinding } from 'vs/base/common/keybinding'; import { IRequestService } from 'vs/platform/request/common/request'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import product from 'vs/platform/product'; import { IModeService } from 'vs/editor/common/services/modeService'; import {tokenizeToString} from 'vs/editor/common/modes/textToHtmlTokenizer'; function renderBody(body: string): string { return `
${ body } `; } export class ReleaseNotesEditor extends BaseEditor { static ID: string = 'workbench.editor.releaseNotes'; private content: HTMLElement; private contentDisposables: IDisposable[] = []; private disposables: IDisposable[]; constructor( @ITelemetryService telemetryService: ITelemetryService, @IThemeService private themeService: IThemeService, @IWorkbenchEditorService private editorService: IWorkbenchEditorService, @IRequestService private requestService: IRequestService, @IOpenerService private openerService: IOpenerService, @IKeybindingService private keybindingService: IKeybindingService, @IModeService private modeService: IModeService ) { super(ReleaseNotesEditor.ID, telemetryService); this.disposables = []; } createEditor(parent: Builder): void { const container = parent.getHTMLElement(); this.content = append(container, $('.release-notes', { 'style': 'height: 100%' })); } setInput(input: ReleaseNotesInput, options: EditorOptions): TPromise${ tokenizeToString(code, modeId) }
`;
};
return marked(text, { renderer });
})
.then(renderBody)
.then