pr feedback and combining prevEditor info for preview and non-preview

This commit is contained in:
Andrea Mah
2021-05-19 16:57:12 -06:00
parent 44d135e94f
commit 9ee1906718
3 changed files with 23 additions and 45 deletions

View File

@@ -533,7 +533,7 @@ export class StaticMarkdownPreview extends Disposable implements ManagedMarkdown
}));
this._register(this.preview.onScroll((scrollInfo) => {
topmostLineMonitor.setPreviousStaticEditorLine(scrollInfo);
topmostLineMonitor.setPreviousEditorLine(scrollInfo);
}));
this._register(topmostLineMonitor.onDidChanged(event => {
@@ -541,9 +541,6 @@ export class StaticMarkdownPreview extends Disposable implements ManagedMarkdown
this.preview.scrollTo(event.line);
}
}));
const currentLine = this.preview.state.line ? this.preview.state.line : 0;
topmostLineMonitor.setPreviousStaticEditorLine({ line: currentLine, uri: this.preview.resource });
}
private readonly _onDispose = this._register(new vscode.EventEmitter<void>());

View File

@@ -12,6 +12,7 @@ import { TopmostLineMonitor } from '../util/topmostLineMonitor';
import { DynamicMarkdownPreview, ManagedMarkdownPreview, StartingScrollFragment, StaticMarkdownPreview, scrollEditorToLine } from './preview';
import { MarkdownPreviewConfigurationManager } from './previewConfig';
import { MarkdownContentProvider } from './previewContentProvider';
import { isMarkdownFile } from '../util/file';
export interface DynamicPreviewSettings {
readonly resourceColumn: vscode.ViewColumn;
@@ -76,8 +77,15 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview
this._register(vscode.window.registerWebviewPanelSerializer(DynamicMarkdownPreview.viewType, this));
this._register(vscode.window.registerCustomEditorProvider(this.customEditorViewType, this));
this._register(this._topmostLineMonitor.onEditorNeedsScrolling(event => {
scrollEditorToLine(event.line, event.editor);
this._register(vscode.window.onDidChangeActiveTextEditor(textEditor => {
// When at a markdown file, apply existing scroll settings
if (textEditor && textEditor.document && isMarkdownFile(textEditor.document)) {
const line = this._topmostLineMonitor.getPreviousEditorLineByUri(textEditor.document.uri);
if (line) {
scrollEditorToLine(line, textEditor);
}
}
}));
}
@@ -164,7 +172,7 @@ export class MarkdownPreviewManager extends Disposable implements vscode.Webview
document: vscode.TextDocument,
webview: vscode.WebviewPanel
): Promise<void> {
const lineNumber = this._topmostLineMonitor.getPreviousMDTextEditorLineByUri(document.uri);
const lineNumber = this._topmostLineMonitor.getPreviousEditorLineByUri(document.uri);
const preview = StaticMarkdownPreview.revive(
document.uri,
webview,