Files
vscode/extensions/markdown-language-features/src/commands/showPreviewSecuritySelector.ts
Matt Bierner 7df46143a1 Experiment with switching markdown extension to use native privates
Let's try this out with one extension to start
2026-03-10 23:13:16 -07:00

37 lines
1.7 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import { Command } from '../commandManager';
import { MarkdownPreviewManager } from '../preview/previewManager';
import { PreviewSecuritySelector } from '../preview/security';
import { isMarkdownFile } from '../util/file';
export class ShowPreviewSecuritySelectorCommand implements Command {
public readonly id = 'markdown.showPreviewSecuritySelector';
readonly #previewSecuritySelector: PreviewSecuritySelector;
readonly #previewManager: MarkdownPreviewManager;
public constructor(
previewSecuritySelector: PreviewSecuritySelector,
previewManager: MarkdownPreviewManager
) {
this.#previewSecuritySelector = previewSecuritySelector;
this.#previewManager = previewManager;
}
public execute(resource: string | undefined) {
if (this.#previewManager.activePreviewResource) {
this.#previewSecuritySelector.showSecuritySelectorForResource(this.#previewManager.activePreviewResource);
} else if (resource) {
const source = vscode.Uri.parse(resource);
this.#previewSecuritySelector.showSecuritySelectorForResource(source.query ? vscode.Uri.parse(source.query) : source);
} else if (vscode.window.activeTextEditor && isMarkdownFile(vscode.window.activeTextEditor.document)) {
this.#previewSecuritySelector.showSecuritySelectorForResource(vscode.window.activeTextEditor.document.uri);
}
}
}