From aa2b9ec47652e84f320dad512c179feb46c8364c Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 31 Jan 2023 17:33:53 +0900 Subject: Add 'show-preview' and 'hide-preview' For cases where 'toggle-preview' is not enough --- src/options.go | 4 ++++ src/terminal.go | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/options.go b/src/options.go index 86a168c0..e30ba2c5 100644 --- a/src/options.go +++ b/src/options.go @@ -1111,6 +1111,10 @@ func parseActionList(masked string, original string, prevActions []*action, putA appendAction(actPrevSelected) case "next-selected": appendAction(actNextSelected) + case "show-preview": + appendAction(actShowPreview) + case "hide-preview": + appendAction(actHidePreview) case "toggle-preview": appendAction(actTogglePreview) case "toggle-preview-wrap": diff --git a/src/terminal.go b/src/terminal.go index 8308f63d..b95686ca 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -350,6 +350,8 @@ const ( actRefreshPreview actReplaceQuery actToggleSort + actShowPreview + actHidePreview actTogglePreview actTogglePreviewWrap actTransformBorderLabel @@ -2866,8 +2868,17 @@ func (t *Terminal) Loop() { case actInvalid: t.mutex.Unlock() return false - case actTogglePreview: - if t.hasPreviewWindow() || len(t.previewOpts.command) > 0 { + case actTogglePreview, actShowPreview, actHidePreview: + var act bool + switch a.t { + case actShowPreview: + act = !t.hasPreviewWindow() && len(t.previewOpts.command) > 0 + case actHidePreview: + act = t.hasPreviewWindow() + case actTogglePreview: + act = t.hasPreviewWindow() || len(t.previewOpts.command) > 0 + } + if act { t.activePreviewOpts.Toggle() updatePreviewWindow(false) if t.isPreviewEnabled() { -- cgit v1.2.3