Implement draft 2 from #86802 (#87117)

This commit is contained in:
Matt Bierner
2019-12-16 14:18:58 -08:00
committed by GitHub
parent d117af0934
commit 8e475f9b24
10 changed files with 149 additions and 190 deletions

View File

@@ -52,7 +52,7 @@ class PreviewStore extends Disposable {
}
}
export class MarkdownPreviewManager extends Disposable implements vscode.WebviewPanelSerializer, vscode.WebviewEditorProvider {
export class MarkdownPreviewManager extends Disposable implements vscode.WebviewPanelSerializer, vscode.WebviewCustomEditorProvider {
private static readonly markdownPreviewActiveContextKey = 'markdownPreviewFocus';
private readonly _topmostLineMonitor = new TopmostLineMonitor();
@@ -70,7 +70,7 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview
) {
super();
this._register(vscode.window.registerWebviewPanelSerializer(DynamicMarkdownPreview.viewType, this));
this._register(vscode.window.registerWebviewEditorProvider('vscode.markdown.preview.editor', this));
this._register(vscode.window.registerWebviewCustomEditorProvider('vscode.markdown.preview.editor', this));
}
public refresh() {
@@ -149,11 +149,11 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview
}
public async resolveWebviewEditor(
input: { readonly resource: vscode.Uri; },
resource: vscode.Uri,
webview: vscode.WebviewPanel
): Promise<vscode.WebviewEditorCapabilities> {
): Promise<void> {
const preview = DynamicMarkdownPreview.revive(
{ resource: input.resource, locked: false, resourceColumn: vscode.ViewColumn.One },
{ resource, locked: false, resourceColumn: vscode.ViewColumn.One },
webview,
this._contentProvider,
this._previewConfigurations,
@@ -161,7 +161,6 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview
this._topmostLineMonitor,
this._contributions);
this.registerStaticPreview(preview);
return {};
}
private createNewDynamicPreview(