diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2024-06-25 17:10:22 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-06-25 17:14:11 +0900 |
| commit | 3b944addd47d7a911408a14b421c92d69a3f1eb3 (patch) | |
| tree | db13c4adc9b6fb3f719c92d42fe30547022e70c0 /src | |
| parent | 70bf8bc35dfb31eb1963c92fa72e38261fa0056a (diff) | |
| download | fzf-3b944addd47d7a911408a14b421c92d69a3f1eb3.tar.gz | |
Allow removing header line with change-header and transform-header
If the new header is an empty string.
fzf --header loading --bind 'start:reload:sleep 3; ls' --bind 'load:change-header:'
fzf --header loading --bind 'start:reload:sleep 3; ls' --bind 'load:transform-header:'
Diffstat (limited to 'src')
| -rw-r--r-- | src/terminal.go | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/terminal.go b/src/terminal.go index d94e54ec..6cc46128 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -1202,7 +1202,10 @@ func (t *Terminal) UpdateCount(cnt int, final bool, failedCommand *string) { } func (t *Terminal) changeHeader(header string) bool { - lines := strings.Split(strings.TrimSuffix(header, "\n"), "\n") + var lines []string + if len(header) > 0 { + lines = strings.Split(strings.TrimSuffix(header, "\n"), "\n") + } needFullRedraw := len(t.header0) != len(lines) t.header0 = lines return needFullRedraw @@ -4094,16 +4097,13 @@ func (t *Terminal) Loop() error { case actChangeQuery: t.input = []rune(a.a) t.cx = len(t.input) - case actTransformHeader: - header := t.executeCommand(a.a, false, true, true, false, "") - if t.changeHeader(header) { - req(reqFullRedraw) - } else { - req(reqHeader) + case actChangeHeader, actTransformHeader: + header := a.a + if a.t == actTransformHeader { + header = t.executeCommand(a.a, false, true, true, false, "") } - case actChangeHeader: - if t.changeHeader(a.a) { - req(reqFullRedraw) + if t.changeHeader(header) { + req(reqHeader, reqList, reqPrompt, reqInfo) } else { req(reqHeader) } |
