Bläddra i källkod

Refactor cline-diff

Saoud Rizwan 1 år sedan
förälder
incheckning
31f5fabc54
2 ändrade filer med 8 tillägg och 5 borttagningar
  1. 2 1
      src/extension.ts
  2. 6 4
      src/integrations/editor/DiffViewProvider.ts

+ 2 - 1
src/extension.ts

@@ -5,6 +5,7 @@ import * as vscode from "vscode"
 import { ClineProvider } from "./core/webview/ClineProvider"
 import { createClineAPI } from "./exports"
 import "./utils/path" // necessary to have access to String.prototype.toPosix
+import { DIFF_VIEW_URI_SCHEME } from "./integrations/editor/DiffViewProvider"
 
 /*
 Built using https://github.com/microsoft/vscode-webview-ui-toolkit
@@ -104,7 +105,7 @@ export function activate(context: vscode.ExtensionContext) {
 		}
 	})()
 	context.subscriptions.push(
-		vscode.workspace.registerTextDocumentContentProvider("claude-dev-diff", diffContentProvider)
+		vscode.workspace.registerTextDocumentContentProvider(DIFF_VIEW_URI_SCHEME, diffContentProvider)
 	)
 
 	// URI Handler

+ 6 - 4
src/integrations/editor/DiffViewProvider.ts

@@ -8,6 +8,8 @@ import { DecorationController } from "./DecorationController"
 import * as diff from "diff"
 import { diagnosticsToProblemsString, getNewDiagnostics } from "../diagnostics"
 
+export const DIFF_VIEW_URI_SCHEME = "cline-diff"
+
 export class DiffViewProvider {
 	editType?: "create" | "modify"
 	isEditing = false
@@ -244,7 +246,7 @@ export class DiffViewProvider {
 			.flatMap((tg) => tg.tabs)
 			.filter(
 				(tab) =>
-					tab.input instanceof vscode.TabInputTextDiff && tab.input?.original?.scheme === "claude-dev-diff"
+					tab.input instanceof vscode.TabInputTextDiff && tab.input?.original?.scheme === DIFF_VIEW_URI_SCHEME
 			)
 		for (const tab of tabs) {
 			// trying to close dirty views results in save popup
@@ -265,7 +267,7 @@ export class DiffViewProvider {
 			.find(
 				(tab) =>
 					tab.input instanceof vscode.TabInputTextDiff &&
-					tab.input?.original?.scheme === "claude-dev-diff" &&
+					tab.input?.original?.scheme === DIFF_VIEW_URI_SCHEME &&
 					arePathsEqual(tab.input.modified.fsPath, uri.fsPath)
 			)
 		if (diffTab && diffTab.input instanceof vscode.TabInputTextDiff) {
@@ -284,11 +286,11 @@ export class DiffViewProvider {
 			})
 			vscode.commands.executeCommand(
 				"vscode.diff",
-				vscode.Uri.parse(`claude-dev-diff:${fileName}`).with({
+				vscode.Uri.parse(`${DIFF_VIEW_URI_SCHEME}:${fileName}`).with({
 					query: Buffer.from(this.originalContent ?? "").toString("base64"),
 				}),
 				uri,
-				`${fileName}: ${fileExists ? "Original ↔ Claude's Changes" : "New File"} (Editable)`
+				`${fileName}: ${fileExists ? "Original ↔ Cline's Changes" : "New File"} (Editable)`
 			)
 			// This should never happen but if it does it's worth investigating
 			setTimeout(() => {