From c36a64be6823da402419ad42e18edf42ac2bc908 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 10 Dec 2023 15:59:45 +0900 Subject: Add accept-or-print-query Close #3528 --- src/options.go | 2 ++ src/terminal.go | 7 +++++++ 2 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/options.go b/src/options.go index d2c26082..57f2f1e1 100644 --- a/src/options.go +++ b/src/options.go @@ -1070,6 +1070,8 @@ func parseActionList(masked string, original string, prevActions []*action, putA appendAction(actAccept) case "accept-non-empty": appendAction(actAcceptNonEmpty) + case "accept-or-print-query": + appendAction(actAcceptOrPrintQuery) case "print-query": appendAction(actPrintQuery) case "refresh-preview": diff --git a/src/terminal.go b/src/terminal.go index e588187a..4a4498bb 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -343,6 +343,7 @@ const ( actAbort actAccept actAcceptNonEmpty + actAcceptOrPrintQuery actBackwardChar actBackwardDeleteChar actBackwardDeleteCharEOF @@ -3497,6 +3498,12 @@ func (t *Terminal) Loop() { if len(t.selected) > 0 || t.merger.Length() > 0 || !t.reading && t.count == 0 { req(reqClose) } + case actAcceptOrPrintQuery: + if len(t.selected) > 0 || t.merger.Length() > 0 { + req(reqClose) + } else { + req(reqPrintQuery) + } case actClearScreen: req(reqFullRedraw) case actClearQuery: -- cgit v1.2.3