@@ -54,7 +54,6 @@ import { useSDK } from "@tui/context/sdk"
5454import { useCommandDialog } from "@tui/component/dialog-command"
5555import type { DialogContext } from "@tui/ui/dialog"
5656import { useKeybind } from "@tui/context/keybind"
57- import { parsePatch } from "diff"
5857import { useDialog } from "../../ui/dialog"
5958import { TodoItem } from "../../component/todo-item"
6059import { DialogMessage } from "./dialog-message"
@@ -88,6 +87,7 @@ import { getScrollAcceleration } from "../../util/scroll"
8887import { TuiPluginRuntime } from "../../plugin"
8988import { DialogGoUpsell } from "../../component/dialog-go-upsell"
9089import { SessionRetry } from "@/session/retry"
90+ import { getRevertDiffFiles } from "../../util/revert-diff"
9191
9292addDefaultParsers ( parsers . parsers )
9393
@@ -991,31 +991,7 @@ export function Session() {
991991 const revertInfo = createMemo ( ( ) => session ( ) ?. revert )
992992 const revertMessageID = createMemo ( ( ) => revertInfo ( ) ?. messageID )
993993
994- const revertDiffFiles = createMemo ( ( ) => {
995- const diffText = revertInfo ( ) ?. diff ?? ""
996- if ( ! diffText ) return [ ]
997-
998- try {
999- const patches = parsePatch ( diffText )
1000- return patches . map ( ( patch ) => {
1001- const filename = patch . newFileName || patch . oldFileName || "unknown"
1002- const cleanFilename = filename . replace ( / ^ [ a b ] \/ / , "" )
1003- return {
1004- filename : cleanFilename ,
1005- additions : patch . hunks . reduce (
1006- ( sum , hunk ) => sum + hunk . lines . filter ( ( line ) => line . startsWith ( "+" ) ) . length ,
1007- 0 ,
1008- ) ,
1009- deletions : patch . hunks . reduce (
1010- ( sum , hunk ) => sum + hunk . lines . filter ( ( line ) => line . startsWith ( "-" ) ) . length ,
1011- 0 ,
1012- ) ,
1013- }
1014- } )
1015- } catch {
1016- return [ ]
1017- }
1018- } )
994+ const revertDiffFiles = createMemo ( ( ) => getRevertDiffFiles ( revertInfo ( ) ?. diff ?? "" ) )
1019995
1020996 const revertRevertedMessages = createMemo ( ( ) => {
1021997 const messageID = revertMessageID ( )
0 commit comments