Просмотр исходного кода

fix: ensure apply patch tool emits edited events

Aiden Cline 1 месяц назад
Родитель
Сommit
74bd52e8a7
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      packages/opencode/src/tool/apply_patch.ts

+ 8 - 0
packages/opencode/src/tool/apply_patch.ts

@@ -12,6 +12,7 @@ import { trimDiff } from "./edit"
 import { LSP } from "../lsp"
 import { Filesystem } from "../util/filesystem"
 import DESCRIPTION from "./apply_patch.txt"
+import { File } from "../file"
 
 const PatchParams = z.object({
   patchText: z.string().describe("The full patch text that describes all changes to be made"),
@@ -171,6 +172,7 @@ export const ApplyPatchTool = Tool.define("apply_patch", {
     const changedFiles: string[] = []
 
     for (const change of fileChanges) {
+      const edited = change.type === "delete" ? undefined : change.movePath ?? change.filePath
       switch (change.type) {
         case "add":
           // Create parent directories (recursive: true is safe on existing/root dirs)
@@ -199,6 +201,12 @@ export const ApplyPatchTool = Tool.define("apply_patch", {
           changedFiles.push(change.filePath)
           break
       }
+
+      if (edited) {
+        await Bus.publish(File.Event.Edited, {
+          file: edited,
+        })
+      }
     }
 
     // Publish file change events