Path: blob/main/extensions/copilot/src/extension/chatSessions/copilotcli/vscode-node/commands/diffCommands.ts
13406 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 { DiffStateManager } from '../diffState';7import { ILogger } from '../../../../../platform/log/common/logService';89export const ACCEPT_DIFF_COMMAND = 'github.copilot.chat.copilotCLI.acceptDiff';10export const REJECT_DIFF_COMMAND = 'github.copilot.chat.copilotCLI.rejectDiff';1112export function registerDiffCommands(logger: ILogger, diffState: DiffStateManager): vscode.Disposable[] {13const disposables: vscode.Disposable[] = [];1415disposables.push(16vscode.commands.registerCommand(ACCEPT_DIFF_COMMAND, () => {17logger.info('[DIFF] ===== ACCEPT COMMAND =====');18const diff = diffState.getForCurrentTab();19if (!diff) {20logger.info('[DIFF] No active diff found for accept');21return;22}2324logger.info(`[DIFF] Accepting diff: ${diff.tabName}, diffId=${diff.diffId}`);25diff.cleanup();26diff.resolve({ status: 'SAVED', trigger: 'accepted_via_button' });27logger.info('[DIFF] Accept command done');28})29);3031disposables.push(32vscode.commands.registerCommand(REJECT_DIFF_COMMAND, () => {33logger.info('[DIFF] ===== REJECT COMMAND =====');34const diff = diffState.getForCurrentTab();35if (!diff) {36logger.info('[DIFF] No active diff found for reject');37return;38}39logger.info(`[DIFF] Rejecting diff: ${diff.tabName}, diffId=${diff.diffId}`);40diff.cleanup();41diff.resolve({ status: 'REJECTED', trigger: 'rejected_via_button' });42logger.info('[DIFF] Reject command done');43})44);4546return disposables;47}484950