diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-02-18 10:08:47 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-02-18 10:08:47 +0900 |
| commit | f975b402365d92c816a060aba580811bc5c55cc5 (patch) | |
| tree | f1353f787184c3c23ecfe295ea11713fe277a940 /src/terminal.go | |
| parent | 01d9d9c8c895de728e7abcad1723db019280452d (diff) | |
| download | fzf-f975b402365d92c816a060aba580811bc5c55cc5.tar.gz | |
Fix {q} in preview window affected by 'search' action
Diffstat (limited to 'src/terminal.go')
| -rw-r--r-- | src/terminal.go | 10 |
1 files changed, 6 insertions, 4 deletions
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 |
