Path: blob/main/extensions/markdown-language-features/src/commands/showPreviewSecuritySelector.ts
3294 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import * as vscode from 'vscode';6import { Command } from '../commandManager';7import { MarkdownPreviewManager } from '../preview/previewManager';8import { PreviewSecuritySelector } from '../preview/security';9import { isMarkdownFile } from '../util/file';1011export class ShowPreviewSecuritySelectorCommand implements Command {12public readonly id = 'markdown.showPreviewSecuritySelector';1314public constructor(15private readonly _previewSecuritySelector: PreviewSecuritySelector,16private readonly _previewManager: MarkdownPreviewManager17) { }1819public execute(resource: string | undefined) {20if (this._previewManager.activePreviewResource) {21this._previewSecuritySelector.showSecuritySelectorForResource(this._previewManager.activePreviewResource);22} else if (resource) {23const source = vscode.Uri.parse(resource);24this._previewSecuritySelector.showSecuritySelectorForResource(source.query ? vscode.Uri.parse(source.query) : source);25} else if (vscode.window.activeTextEditor && isMarkdownFile(vscode.window.activeTextEditor.document)) {26this._previewSecuritySelector.showSecuritySelectorForResource(vscode.window.activeTextEditor.document.uri);27}28}29}303132