summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2023-01-31 17:33:53 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2023-01-31 17:34:11 +0900
commitaa2b9ec47652e84f320dad512c179feb46c8364c (patch)
tree0179c14c43d4d1bb20c5306bef5f98a70f44eaa3 /src
parent3ee00f8bc281e98e06689c127ebd09c0ed123929 (diff)
downloadfzf-aa2b9ec47652e84f320dad512c179feb46c8364c.tar.gz
Add 'show-preview' and 'hide-preview'
For cases where 'toggle-preview' is not enough
Diffstat (limited to 'src')
-rw-r--r--src/options.go4
-rw-r--r--src/terminal.go15
2 files changed, 17 insertions, 2 deletions
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() {