From 9eaf186cc98dab93c7992c0adaf5aa9703a2b984 Mon Sep 17 00:00:00 2001 From: "n loewen (aider)" Date: Sun, 8 Jun 2025 02:44:02 +0100 Subject: [PATCH] feat: Modify 'x' and 'a' keys to toggle off deletions/additions in diff mode --- gtm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gtm b/gtm index 5826732..2ee0ed4 100755 --- a/gtm +++ b/gtm @@ -1120,9 +1120,19 @@ def handle_keyboard_input(key, state: AppState) -> AppState: elif key == ord('d'): return replace(state, show_whole_diff=not state.show_whole_diff) elif key == ord('a'): - return replace(state, show_additions=not state.show_additions) + # If diff mode is on, pressing 'a' should toggle off additions + # If diff mode is off, pressing 'a' should toggle on additions + if state.show_whole_diff: + return replace(state, show_additions=False, show_whole_diff=False) + else: + return replace(state, show_additions=not state.show_additions) elif key == ord('x'): - return replace(state, show_deletions=not state.show_deletions) + # If diff mode is on, pressing 'x' should toggle off deletions + # If diff mode is off, pressing 'x' should toggle on deletions + if state.show_whole_diff: + return replace(state, show_deletions=False, show_whole_diff=False) + else: + return replace(state, show_deletions=not state.show_deletions) elif key == ord('w'): return replace(state, wrap_lines=not state.wrap_lines) elif key == ord('L'):