From c0aa5a438f2484c9f931d1258e2eeb5ddc5927ad Mon Sep 17 00:00:00 2001 From: Tinmarino Date: Mon, 5 Oct 2020 09:58:56 -0300 Subject: [PATCH] Add preview-half-page-down and preview-half-page-up (#2145) --- CHANGELOG.md | 3 +++ man/man1/fzf.1 | 2 ++ src/options.go | 4 ++++ src/terminal.go | 10 ++++++++++ 4 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22cd9d55..9fe183d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ CHANGELOG - Added `--preview-window` option for sharp edges (`--preview-window sharp`) - Reduced vertical padding around the preview window when `--preview-window noborder` is used +- Added actions for preview window + - `preview-half-page-up` + - `preview-half-page-down` - Vim - Popup width and height can be given in absolute integer values - Added `fzf#exec()` function for getting the path of fzf executable diff --git a/man/man1/fzf.1 b/man/man1/fzf.1 index afd0713f..7fbc931a 100644 --- a/man/man1/fzf.1 +++ b/man/man1/fzf.1 @@ -718,6 +718,8 @@ A key or an event can be bound to one or more of the following actions. \fBpreview-up\fR \fIshift-up\fR \fBpreview-page-down\fR \fBpreview-page-up\fR + \fBpreview-half-page-down\fR + \fBpreview-half-page-up\fR \fBprevious-history\fR (\fIctrl-p\fR on \fB--history\fR) \fBprint-query\fR (print query and exit) \fBrefresh-preview\fR diff --git a/src/options.go b/src/options.go index a99ab0b6..7d19bfa2 100644 --- a/src/options.go +++ b/src/options.go @@ -854,6 +854,10 @@ func parseKeymap(keymap map[int][]action, str string) { appendAction(actPreviewPageUp) case "preview-page-down": appendAction(actPreviewPageDown) + case "preview-half-page-up": + appendAction(actPreviewHalfPageUp) + case "preview-half-page-down": + appendAction(actPreviewHalfPageDown) default: t := isExecuteAction(specLower) if t == actIgnore { diff --git a/src/terminal.go b/src/terminal.go index 428ee763..0fd917ac 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -236,6 +236,8 @@ const ( actPreviewDown actPreviewPageUp actPreviewPageDown + actPreviewHalfPageUp + actPreviewHalfPageDown actPreviousHistory actNextHistory actExecute @@ -1953,6 +1955,14 @@ func (t *Terminal) Loop() { if t.hasPreviewWindow() { scrollPreview(t.pwindow.Height()) } + case actPreviewHalfPageUp: + if t.hasPreviewWindow() { + scrollPreview(-t.pwindow.Height()/2) + } + case actPreviewHalfPageDown: + if t.hasPreviewWindow() { + scrollPreview(t.pwindow.Height()/2) + } case actBeginningOfLine: t.cx = 0 case actBackwardChar: