m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-08 11:23:47 -05:00

Refactor action implementation

This commit is contained in:
Junegunn Choi
2025-09-29 00:04:57 +09:00
parent 8a943a9b1a
commit 8585969d6d

View File

@@ -6088,32 +6088,22 @@ func (t *Terminal) Loop() error {
t.vmove(1, true)
req(reqList)
}
case actDown, actDownMatch:
if t.raw && a.t == actDownMatch {
case actDown, actDownMatch, actUp, actUpMatch:
dir := -1
if a.t == actUp || a.t == actUpMatch {
dir = 1
}
if t.raw && (a.t == actDownMatch || a.t == actUpMatch) {
if t.resultMerger.Length() > 0 {
prevCy := t.cy
for t.vmove(-1, true) && !t.isCurrentItemMatch() {
for t.vmove(dir, true) && !t.isCurrentItemMatch() {
}
if !t.isCurrentItemMatch() {
t.vset(prevCy)
}
}
} else {
t.vmove(-1, true)
}
req(reqList)
case actUp, actUpMatch:
if t.raw && a.t == actUpMatch {
if t.resultMerger.Length() > 0 {
prevCy := t.cy
for t.vmove(1, true) && !t.isCurrentItemMatch() {
}
if !t.isCurrentItemMatch() {
t.vset(prevCy)
}
}
} else {
t.vmove(1, true)
t.vmove(dir, true)
}
req(reqList)
case actToggleRaw: