summaryrefslogtreecommitdiff
path: root/src/terminal.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2023-01-05 01:55:59 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2023-01-05 01:59:22 +0900
commitee5cdb9713715883ac6d2cd87bc8a091ff7c8361 (patch)
treef61b6ad59328df1fc7d4399f77213809c0d259cc /src/terminal.go
parent03d02d67f7ae16b19d9933648d5cbd49915c76e0 (diff)
downloadfzf-ee5cdb9713715883ac6d2cd87bc8a091ff7c8361.tar.gz
Reduce flickering of the scroll info panel on the preview window
Diffstat (limited to 'src/terminal.go')
-rw-r--r--src/terminal.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/terminal.go b/src/terminal.go
index f4435a61..dfcc4a72 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -1682,6 +1682,7 @@ func (t *Terminal) renderPreviewArea(unchanged bool) {
func (t *Terminal) renderPreviewText(height int, lines []string, lineNo int, unchanged bool) {
maxWidth := t.pwindow.Width()
var ansi *ansiState
+ spinnerRedraw := t.pwindow.Y() == 0
for _, line := range lines {
var lbg tui.Color = -1
if ansi != nil {
@@ -1693,6 +1694,13 @@ func (t *Terminal) renderPreviewText(height int, lines []string, lineNo int, unc
t.previewer.scrollable = true
break
} else if lineNo >= 0 {
+ if spinnerRedraw && lineNo > 0 {
+ spinnerRedraw = false
+ y := t.pwindow.Y()
+ x := t.pwindow.X()
+ t.renderPreviewSpinner()
+ t.pwindow.Move(y, x)
+ }
var fillRet tui.FillReturn
prefixWidth := 0
_, _, ansi = extractColor(line, ansi, func(str string, ansi *ansiState) bool {