From fe76027969fc5e8dfb4527482eaf09ede92d002f Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Wed, 28 Feb 2024 18:15:19 -0800 Subject: [PATCH] Handle ^F, ^B, ^U and ^D readline shortcuts in pager --- 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;