diff options
author | Matthieu Cneude <Phantas0s@users.noreply.github.com> | 2024-03-29 08:14:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-29 16:14:08 +0900 |
commit | f625c5aabe0e4cdbfc4a1d5d526a011d3c68c697 (patch) | |
tree | 304dcb5d7f6540ef40700fd71b28f99c86ee7b6a /src | |
parent | 8a74976c1f02730cfd1b83fc38a57b737a24ac9a (diff) |
Add environment variables: FZF_{BORDER,PREVIEW}_LABEL (#3693)
The environment variable get the value of the preview label, even if it
has been updated with an action. It can be useful to track the label of
the preview and be able to switch between previews using only one
binding.
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/terminal.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go index 726cb498..ef7ba9dd 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -852,6 +852,8 @@ func (t *Terminal) environ() []string { env = append(env, "FZF_QUERY="+string(t.input)) env = append(env, "FZF_ACTION="+t.lastAction.Name()) env = append(env, "FZF_PROMPT="+string(t.promptString)) + env = append(env, "FZF_PREVIEW_LABEL="+t.previewLabelOpts.label) + env = append(env, "FZF_BORDER_LABEL="+t.borderLabelOpts.label) env = append(env, fmt.Sprintf("FZF_TOTAL_COUNT=%d", t.count)) env = append(env, fmt.Sprintf("FZF_MATCH_COUNT=%d", t.merger.Length())) env = append(env, fmt.Sprintf("FZF_SELECT_COUNT=%d", len(t.selected))) @@ -3476,11 +3478,13 @@ func (t *Terminal) Loop() { req(reqHeader) } case actChangeBorderLabel: + t.borderLabelOpts.label = a.a if t.border != nil { t.borderLabel, t.borderLabelLen = t.ansiLabelPrinter(a.a, &tui.ColBorderLabel, false) req(reqRedrawBorderLabel) } case actChangePreviewLabel: + t.previewLabelOpts.label = a.a if t.pborder != nil { t.previewLabel, t.previewLabelLen = t.ansiLabelPrinter(a.a, &tui.ColPreviewLabel, false) req(reqRedrawPreviewLabel) @@ -3490,14 +3494,16 @@ func (t *Terminal) Loop() { actions := parseSingleActionList(strings.Trim(body, "\r\n"), func(message string) {}) return doActions(actions) case actTransformBorderLabel: + label := t.executeCommand(a.a, false, true, true, true) + t.borderLabelOpts.label = label if t.border != nil { - label := t.executeCommand(a.a, false, true, true, true) t.borderLabel, t.borderLabelLen = t.ansiLabelPrinter(label, &tui.ColBorderLabel, false) req(reqRedrawBorderLabel) } case actTransformPreviewLabel: + label := t.executeCommand(a.a, false, true, true, true) + t.previewLabelOpts.label = label if t.pborder != nil { - label := t.executeCommand(a.a, false, true, true, true) t.previewLabel, t.previewLabelLen = t.ansiLabelPrinter(label, &tui.ColPreviewLabel, false) req(reqRedrawPreviewLabel) } |