Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/markdown-language-features/src/commands/showPreviewSecuritySelector.ts
3294 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import * as vscode from 'vscode';
7
import { Command } from '../commandManager';
8
import { MarkdownPreviewManager } from '../preview/previewManager';
9
import { PreviewSecuritySelector } from '../preview/security';
10
import { isMarkdownFile } from '../util/file';
11
12
export class ShowPreviewSecuritySelectorCommand implements Command {
13
public readonly id = 'markdown.showPreviewSecuritySelector';
14
15
public constructor(
16
private readonly _previewSecuritySelector: PreviewSecuritySelector,
17
private readonly _previewManager: MarkdownPreviewManager
18
) { }
19
20
public execute(resource: string | undefined) {
21
if (this._previewManager.activePreviewResource) {
22
this._previewSecuritySelector.showSecuritySelectorForResource(this._previewManager.activePreviewResource);
23
} else if (resource) {
24
const source = vscode.Uri.parse(resource);
25
this._previewSecuritySelector.showSecuritySelectorForResource(source.query ? vscode.Uri.parse(source.query) : source);
26
} else if (vscode.window.activeTextEditor && isMarkdownFile(vscode.window.activeTextEditor.document)) {
27
this._previewSecuritySelector.showSecuritySelectorForResource(vscode.window.activeTextEditor.document.uri);
28
}
29
}
30
}
31
32