From 28348606bf4bf45d9e34d3ce09f2e3e3a0485775 Mon Sep 17 00:00:00 2001 From: Ryan Burns <52847440+r-burns@users.noreply.github.com> Date: Wed, 28 Feb 2024 18:33:15 -0800 Subject: [PATCH] Handle ^F, ^B, ^U and ^D readline shortcuts in pager (#42) --- objdiff-cli/src/cmd/diff.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/objdiff-cli/src/cmd/diff.rs b/objdiff-cli/src/cmd/diff.rs index 312bee3..e9cb27c 100644 --- a/objdiff-cli/src/cmd/diff.rs +++ b/objdiff-cli/src/cmd/diff.rs @@ -178,6 +178,22 @@ pub fn run(args: Args) -> Result<()> { skip += per_page; redraw = true; } + KeyCode::Char('f') if event.modifiers.contains(KeyModifiers::CONTROL) => { + skip += per_page; + redraw = true; + } + KeyCode::Char('b') if event.modifiers.contains(KeyModifiers::CONTROL) => { + skip = skip.saturating_sub(per_page); + redraw = true; + } + KeyCode::Char('d') if event.modifiers.contains(KeyModifiers::CONTROL) => { + skip += per_page / 2; + redraw = true; + } + KeyCode::Char('u') if event.modifiers.contains(KeyModifiers::CONTROL) => { + skip = skip.saturating_sub(per_page / 2); + redraw = true; + } // Scroll down KeyCode::Down | KeyCode::Char('j') => { skip += 1;