summaryrefslogtreecommitdiff
path: root/src/tui
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2020-10-18 17:03:33 +0900
committerGitHub <noreply@github.com>2020-10-18 17:03:33 +0900
commitfaf68dbc5cc52201d0962f73baa5a049528b913c (patch)
tree12aaf9aa85163a8f140345d178b836d40e09342b /src/tui
parent305896fcb3b76c5ea94401f6cce74f0f287e8f21 (diff)
downloadfzf-faf68dbc5cc52201d0962f73baa5a049528b913c.tar.gz
Implement streaming preview window (#2215)
Fix #2212 # Will start rendering after 200ms, update every 100ms fzf --preview 'for i in $(seq 100); do echo $i; sleep 0.01; done' # Should print "Loading .." message after 500ms fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done' # The first line should appear after 200ms fzf --preview 'date; sleep 2; date' # Should not render before enough lines for the scroll offset are ready rg --line-number --no-heading --color=always ^ | fzf --delimiter : --ansi --preview-window '+{2}-/2' \ --preview 'sleep 1; bat --style=numbers --color=always --pager=never --highlight-line={2} {1}'
Diffstat (limited to 'src/tui')
-rw-r--r--src/tui/dummy.go7
-rw-r--r--src/tui/light.go4
-rw-r--r--src/tui/tcell.go4
-rw-r--r--src/tui/tui.go1
4 files changed, 3 insertions, 13 deletions
diff --git a/src/tui/dummy.go b/src/tui/dummy.go
index 8fce77e5..a6df8550 100644
--- a/src/tui/dummy.go
+++ b/src/tui/dummy.go
@@ -32,10 +32,9 @@ func (r *FullscreenRenderer) Clear() {}
func (r *FullscreenRenderer) Refresh() {}
func (r *FullscreenRenderer) Close() {}
-func (r *FullscreenRenderer) DoesAutoWrap() bool { return false }
-func (r *FullscreenRenderer) GetChar() Event { return Event{} }
-func (r *FullscreenRenderer) MaxX() int { return 0 }
-func (r *FullscreenRenderer) MaxY() int { return 0 }
+func (r *FullscreenRenderer) GetChar() Event { return Event{} }
+func (r *FullscreenRenderer) MaxX() int { return 0 }
+func (r *FullscreenRenderer) MaxY() int { return 0 }
func (r *FullscreenRenderer) RefreshWindows(windows []Window) {}
diff --git a/src/tui/light.go b/src/tui/light.go
index 9af19b83..3062ab45 100644
--- a/src/tui/light.go
+++ b/src/tui/light.go
@@ -624,10 +624,6 @@ func (r *LightRenderer) MaxY() int {
return r.height
}
-func (r *LightRenderer) DoesAutoWrap() bool {
- return false
-}
-
func (r *LightRenderer) NewWindow(top int, left int, width int, height int, preview bool, borderStyle BorderStyle) Window {
w := &LightWindow{
renderer: r,
diff --git a/src/tui/tcell.go b/src/tui/tcell.go
index 4d8096d3..a4c599bb 100644
--- a/src/tui/tcell.go
+++ b/src/tui/tcell.go
@@ -166,10 +166,6 @@ func (w *TcellWindow) Y() int {
return w.lastY
}
-func (r *FullscreenRenderer) DoesAutoWrap() bool {
- return false
-}
-
func (r *FullscreenRenderer) Clear() {
_screen.Sync()
_screen.Clear()
diff --git a/src/tui/tui.go b/src/tui/tui.go
index 3ed794f7..146aafac 100644
--- a/src/tui/tui.go
+++ b/src/tui/tui.go
@@ -286,7 +286,6 @@ type Renderer interface {
MaxX() int
MaxY() int
- DoesAutoWrap() bool
NewWindow(top int, left int, width int, height int, preview bool, borderStyle BorderStyle) Window
}