Path: blob/main/extensions/mermaid-chat-features/src/extension.ts
5267 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*--------------------------------------------------------------------------------------------*/4import * as vscode from 'vscode';5import { registerChatSupport } from './chatOutputRenderer';6import { MermaidEditorManager } from './editorManager';7import { MermaidWebviewManager } from './webviewManager';8910export function activate(context: vscode.ExtensionContext) {11const webviewManager = new MermaidWebviewManager();1213const editorManager = new MermaidEditorManager(context.extensionUri, webviewManager);14context.subscriptions.push(editorManager);1516// Register chat support17context.subscriptions.push(registerChatSupport(context, webviewManager, editorManager));1819// Register commands20context.subscriptions.push(21vscode.commands.registerCommand('_mermaid-chat.resetPanZoom', (ctx?: { mermaidWebviewId?: string }) => {22webviewManager.resetPanZoom(ctx?.mermaidWebviewId);23})24);2526context.subscriptions.push(27vscode.commands.registerCommand('_mermaid-chat.copySource', (ctx?: { mermaidWebviewId?: string }) => {28const webviewInfo = ctx?.mermaidWebviewId ? webviewManager.getWebview(ctx.mermaidWebviewId) : webviewManager.activeWebview;29if (webviewInfo) {30vscode.env.clipboard.writeText(webviewInfo.mermaidSource);31}32})33);34}353637