diff --git a/extensions/markdown/src/features/preview.ts b/extensions/markdown/src/features/preview.ts index aa34c92abe9c757ff977ba9a08ca0bea41ba598f..5e7cbdbab08bf5e1b72851b6571cfb2e6b189171 100644 --- a/extensions/markdown/src/features/preview.ts +++ b/extensions/markdown/src/features/preview.ts @@ -12,7 +12,7 @@ import { disposeAll } from '../util/dispose'; import * as nls from 'vscode-nls'; import { getVisibleLine, MarkdownFileTopmostLineMonitor } from '../util/topmostLineMonitor'; -import { PreviewConfigManager } from './previewConfig'; +import { MarkdownPreviewConfigurationManager } from './previewConfig'; const localize = nls.loadMessageBundle(); export class MarkdownPreview { @@ -35,7 +35,7 @@ export class MarkdownPreview { previewColumn: vscode.ViewColumn, public locked: boolean, private readonly contentProvider: MarkdownContentProvider, - private readonly previewConfigurations: PreviewConfigManager, + private readonly previewConfigurations: MarkdownPreviewConfigurationManager, private readonly logger: Logger, topmostLineMonitor: MarkdownFileTopmostLineMonitor ) { @@ -156,7 +156,7 @@ export class MarkdownPreview { } public updateConfiguration() { - if (this.previewConfigurations.shouldUpdateConfiguration(this._resource)) { + if (this.previewConfigurations.hasConfigurationChanged(this._resource)) { this.refresh(); } } diff --git a/extensions/markdown/src/features/previewConfig.ts b/extensions/markdown/src/features/previewConfig.ts index 1fb554577675fe0c259d1468297751b7e8abb249..5f120a1507fef67d83ed19dd80a52a8bb4105116 100644 --- a/extensions/markdown/src/features/previewConfig.ts +++ b/extensions/markdown/src/features/previewConfig.ts @@ -5,9 +5,9 @@ import * as vscode from 'vscode'; -export class MarkdownPreviewConfig { - public static getConfigForResource(resource: vscode.Uri) { - return new MarkdownPreviewConfig(resource); +export class MarkdownPreviewConfiguration { + public static getForResource(resource: vscode.Uri) { + return new MarkdownPreviewConfiguration(resource); } public readonly scrollBeyondLastLine: boolean; @@ -50,7 +50,7 @@ export class MarkdownPreviewConfig { this.styles = markdownConfig.get('styles', []); } - public isEqualTo(otherConfig: MarkdownPreviewConfig) { + public isEqualTo(otherConfig: MarkdownPreviewConfiguration) { for (let key in this) { if (this.hasOwnProperty(key) && key !== 'styles') { if (this[key] !== otherConfig[key]) { @@ -75,23 +75,23 @@ export class MarkdownPreviewConfig { [key: string]: any; } -export class PreviewConfigManager { - private previewConfigurationsForWorkspaces = new Map(); +export class MarkdownPreviewConfigurationManager { + private readonly previewConfigurationsForWorkspaces = new Map(); public loadAndCacheConfiguration( resource: vscode.Uri - ) { - const config = MarkdownPreviewConfig.getConfigForResource(resource); + ): MarkdownPreviewConfiguration { + const config = MarkdownPreviewConfiguration.getForResource(resource); this.previewConfigurationsForWorkspaces.set(this.getKey(resource), config); return config; } - public shouldUpdateConfiguration( + public hasConfigurationChanged( resource: vscode.Uri ): boolean { const key = this.getKey(resource); const currentConfig = this.previewConfigurationsForWorkspaces.get(key); - const newConfig = MarkdownPreviewConfig.getConfigForResource(resource); + const newConfig = MarkdownPreviewConfiguration.getForResource(resource); return (!currentConfig || !currentConfig.isEqualTo(newConfig)); } @@ -99,9 +99,6 @@ export class PreviewConfigManager { resource: vscode.Uri ): string { const folder = vscode.workspace.getWorkspaceFolder(resource); - if (!folder) { - return ''; - } - return folder.uri.toString(); + return folder ? folder.uri.toString() : ''; } } diff --git a/extensions/markdown/src/features/previewContentProvider.ts b/extensions/markdown/src/features/previewContentProvider.ts index caedaedc05cc92ad331251c9df8b5e360a60159c..25c6b771052d8ef100cb8edd5181982163f8fb7d 100644 --- a/extensions/markdown/src/features/previewContentProvider.ts +++ b/extensions/markdown/src/features/previewContentProvider.ts @@ -12,7 +12,7 @@ const localize = nls.loadMessageBundle(); import { Logger } from '../logger'; import { ContentSecurityPolicyArbiter, MarkdownPreviewSecurityLevel } from '../security'; -import { PreviewConfigManager, MarkdownPreviewConfig } from './previewConfig'; +import { MarkdownPreviewConfigurationManager, MarkdownPreviewConfiguration } from './previewConfig'; /** * Strings used inside the markdown preview. @@ -55,7 +55,7 @@ export class MarkdownContentProvider { public async provideTextDocumentContent( markdownDocument: vscode.TextDocument, - previewConfigurations: PreviewConfigManager, + previewConfigurations: MarkdownPreviewConfigurationManager, initialLine: number | undefined = undefined ): Promise { const sourceUri = markdownDocument.uri; @@ -134,7 +134,7 @@ export class MarkdownContentProvider { .toString(); } - private computeCustomStyleSheetIncludes(resource: vscode.Uri, config: MarkdownPreviewConfig): string { + private computeCustomStyleSheetIncludes(resource: vscode.Uri, config: MarkdownPreviewConfiguration): string { if (config.styles && Array.isArray(config.styles)) { return config.styles.map(style => { return ``; @@ -143,7 +143,7 @@ export class MarkdownContentProvider { return ''; } - private getSettingsOverrideStyles(nonce: string, config: MarkdownPreviewConfig): string { + private getSettingsOverrideStyles(nonce: string, config: MarkdownPreviewConfiguration): string { return ``; } - private getStyles(resource: vscode.Uri, nonce: string, config: MarkdownPreviewConfig): string { + private getStyles(resource: vscode.Uri, nonce: string, config: MarkdownPreviewConfiguration): string { const baseStyles = [ this.extensionResourcePath('markdown.css'), this.extensionResourcePath('tomorrow.css') diff --git a/extensions/markdown/src/features/previewManager.ts b/extensions/markdown/src/features/previewManager.ts index 2f68e3fc9ce89fb71b848e1ae1461412beb220fa..62c2f3552124a06ff97eb867628d25a2596acf00 100644 --- a/extensions/markdown/src/features/previewManager.ts +++ b/extensions/markdown/src/features/previewManager.ts @@ -11,13 +11,13 @@ import { MarkdownPreview, PreviewSettings } from './preview'; import { disposeAll } from '../util/dispose'; import { MarkdownFileTopmostLineMonitor } from '../util/topmostLineMonitor'; import { isMarkdownFile } from '../util/file'; -import { PreviewConfigManager } from './previewConfig'; +import { MarkdownPreviewConfigurationManager } from './previewConfig'; export class MarkdownPreviewManager { private static readonly markdownPreviewActiveContextKey = 'markdownPreviewFocus'; private readonly topmostLineMonitor = new MarkdownFileTopmostLineMonitor(); - private readonly previewConfigurations = new PreviewConfigManager(); + private readonly previewConfigurations = new MarkdownPreviewConfigurationManager(); private readonly previews: MarkdownPreview[] = []; private activePreview: MarkdownPreview | undefined = undefined; private readonly disposables: vscode.Disposable[] = [];