From 5d576078013769d88ea72da5bf3a271e96a1169b Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 28 Sep 2025 04:07:05 -0400 Subject: [PATCH] tui: improve diff display in session revert view - Parse diff using diff library parsePatch function - Show changed files with addition/removal counts - Strip a/b prefixes from file paths - Use theme colors for additions (green) and deletions (red) - Only show counts when > 0 - Add top margin to file list --- .../src/cli/cmd/tui/routes/session/index.tsx | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index aa820178f..89aae10b3 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -174,13 +174,17 @@ export function Session() { if (!diffText) return [] const patches = parsePatch(diffText) - return patches.map(patch => ({ - filename: patch.oldFileName || patch.newFileName || 'unknown', - additions: patch.hunks.reduce((sum, hunk) => - sum + hunk.lines.filter(line => line.startsWith('+')).length, 0), - deletions: patch.hunks.reduce((sum, hunk) => - sum + hunk.lines.filter(line => line.startsWith('-')).length, 0) - })) + return patches.map(patch => { + const filename = patch.newFileName || patch.oldFileName || 'unknown' + const cleanFilename = filename.replace(/^[ab]\//, '') + return { + filename: cleanFilename, + additions: patch.hunks.reduce((sum, hunk) => + sum + hunk.lines.filter(line => line.startsWith('+')).length, 0), + deletions: patch.hunks.reduce((sum, hunk) => + sum + hunk.lines.filter(line => line.startsWith('-')).length, 0) + } + }) })() return { @@ -221,13 +225,21 @@ export function Session() { {keybind.print("messages_redo")} or /redo to restore - - {(file) => ( - - {file.filename}: +{file.additions} -{file.deletions} - - )} - + + + {(file) => ( + + {file.filename} + 0}> + +{file.additions} + + 0}> + -{file.deletions} + + + )} + +