summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-06-25 17:10:22 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-06-25 17:14:11 +0900
commit3b944addd47d7a911408a14b421c92d69a3f1eb3 (patch)
treedb13c4adc9b6fb3f719c92d42fe30547022e70c0 /src
parent70bf8bc35dfb31eb1963c92fa72e38261fa0056a (diff)
downloadfzf-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.go20
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)
}