From f975b402365d92c816a060aba580811bc5c55cc5 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 18 Feb 2025 10:08:47 +0900 Subject: Fix {q} in preview window affected by 'search' action --- src/terminal.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/terminal.go b/src/terminal.go index a81e2c79..6fa64895 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -638,6 +638,7 @@ type previewRequest struct { scrollOffset int list []*Item env []string + query string } type previewResult struct { @@ -4385,6 +4386,7 @@ func (t *Terminal) Loop() error { var items []*Item var commandTemplate string var env []string + var query string initialOffset := 0 t.previewBox.Wait(func(events *util.Events) { for req, value := range *events { @@ -4398,6 +4400,7 @@ func (t *Terminal) Loop() error { initialOffset = request.scrollOffset items = request.list env = request.env + query = request.query } } events.Clear() @@ -4411,8 +4414,7 @@ func (t *Terminal) Loop() error { version++ // We don't display preview window if no match if items[0] != nil { - _, query := t.Input() - command, tempFiles := t.replacePlaceholder(commandTemplate, false, string(query), items) + command, tempFiles := t.replacePlaceholder(commandTemplate, false, query, items) cmd := t.executor.ExecCommand(command, true) cmd.Env = env @@ -4540,7 +4542,7 @@ func (t *Terminal) Loop() error { if len(command) > 0 && t.canPreview() { _, list := t.buildPlusList(command, false) t.cancelPreview() - t.previewBox.Set(reqPreviewEnqueue, previewRequest{command, t.evaluateScrollOffset(), list, t.environForPreview()}) + t.previewBox.Set(reqPreviewEnqueue, previewRequest{command, t.evaluateScrollOffset(), list, t.environForPreview(), string(t.input)}) } } @@ -4972,7 +4974,7 @@ func (t *Terminal) Loop() error { if valid { t.cancelPreview() t.previewBox.Set(reqPreviewEnqueue, - previewRequest{t.previewOpts.command, t.evaluateScrollOffset(), list, t.environForPreview()}) + previewRequest{t.previewOpts.command, t.evaluateScrollOffset(), list, t.environForPreview(), string(t.input)}) } } else { // Discard the preview content so that it won't accidentally appear -- cgit v1.2.3