fix: preserve selector text input and close on escape

This commit is contained in:
Valdemar Lorenzen
2026-10-12 13:08:56 +02:00
parent 684ba46a2c
commit 7bc5eab22f
9 changed files with 189 additions and 124 deletions
+4 -2
View File
@@ -965,7 +965,7 @@ end
config.bind "D", config.core.buffer_delete
config.bind "Z", config.core.buffer_force_delete
config.bind "R", config.core.diff
config.bind "T", config.core.diff.close
config.bind "ctrl+t", config.core.diff.close
config.bind "H", config.core.word_wrap.toggle
raise "mutable diff actions" unless config.core.frozen? && config.core.diff.frozen? &&
config.core.diff.close.frozen? && config.core.diff.name.frozen? &&
@@ -982,8 +982,10 @@ end"#,
assert!(!review.editor().word_wrap());
review.handle(Input::Char('R'));
review.handle(Input::Escape);
assert!(review.editor().diff().is_none());
review.handle(Input::Char('R'));
assert!(review.editor().diff().is_some());
review.handle(Input::Char('T'));
review.handle(Input::Ctrl('t'));
assert!(review.editor().diff().is_none());
for (key, dirty, quit, saved) in [
('Q', false, true, false),