Enable preview if 'transform' action is bound to a key

This commit is contained in:
Junegunn Choi 2023-12-31 20:55:24 +09:00
parent d210660ce8
commit 412040f77e
No known key found for this signature in database
GPG Key ID: 254BC280FEF9C627
1 changed files with 11 additions and 4 deletions

View File

@ -587,10 +587,14 @@ func trimQuery(query string) []rune {
return []rune(strings.Replace(query, "\t", " ", -1)) return []rune(strings.Replace(query, "\t", " ", -1))
} }
func hasPreviewAction(opts *Options) bool { func mayTriggerPreview(opts *Options) bool {
if opts.ListenAddr != nil {
return true
}
for _, actions := range opts.Keymap { for _, actions := range opts.Keymap {
for _, action := range actions { for _, action := range actions {
if action.t == actPreview || action.t == actChangePreview { switch action.t {
case actPreview, actChangePreview, actTransform:
return true return true
} }
} }
@ -629,8 +633,11 @@ func NewTerminal(opts *Options, eventBox *util.EventBox) *Terminal {
delay = initialDelay delay = initialDelay
} }
var previewBox *util.EventBox var previewBox *util.EventBox
// We need to start previewer if HTTP server is enabled even when --preview option is not specified // We need to start the previewer even when --preview option is not specified
if len(opts.Preview.command) > 0 || hasPreviewAction(opts) || opts.ListenAddr != nil { // * if HTTP server is enabled
// * if 'preview' or 'change-preview' action is bound to a key
// * if 'transform' action is bound to a key
if len(opts.Preview.command) > 0 || mayTriggerPreview(opts) {
previewBox = util.NewEventBox() previewBox = util.NewEventBox()
} }
var renderer tui.Renderer var renderer tui.Renderer