summaryrefslogtreecommitdiff
path: root/src/tui
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2022-09-08 01:01:22 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2022-09-28 23:22:31 +0900
commit22cbd9fa58512ffdcc975bab37a55467d5e10968 (patch)
treebddf8d579d8fe88abc4a6014f1a0e936d48be7c7 /src/tui
parent984049586a5e5409131e4cb4600115f4a6b9c669 (diff)
downloadfzf-22cbd9fa58512ffdcc975bab37a55467d5e10968.tar.gz
Implement height range (--height ~[VALUE][%])
Close #2953
Diffstat (limited to 'src/tui')
-rw-r--r--src/tui/dummy.go13
-rw-r--r--src/tui/light.go7
-rw-r--r--src/tui/tcell.go2
-rw-r--r--src/tui/tui.go1
4 files changed, 17 insertions, 6 deletions
diff --git a/src/tui/dummy.go b/src/tui/dummy.go
index 297a887e..adecd6fc 100644
--- a/src/tui/dummy.go
+++ b/src/tui/dummy.go
@@ -27,12 +27,13 @@ const (
StrikeThrough = Attr(1 << 7)
)
-func (r *FullscreenRenderer) Init() {}
-func (r *FullscreenRenderer) Pause(bool) {}
-func (r *FullscreenRenderer) Resume(bool, bool) {}
-func (r *FullscreenRenderer) Clear() {}
-func (r *FullscreenRenderer) Refresh() {}
-func (r *FullscreenRenderer) Close() {}
+func (r *FullscreenRenderer) Init() {}
+func (r *FullscreenRenderer) Resize(maxHeightFunc func(int) int) {}
+func (r *FullscreenRenderer) Pause(bool) {}
+func (r *FullscreenRenderer) Resume(bool, bool) {}
+func (r *FullscreenRenderer) Clear() {}
+func (r *FullscreenRenderer) Refresh() {}
+func (r *FullscreenRenderer) Close() {}
func (r *FullscreenRenderer) GetChar() Event { return Event{} }
func (r *FullscreenRenderer) MaxX() int { return 0 }
diff --git a/src/tui/light.go b/src/tui/light.go
index 0546caa8..20b7b9d5 100644
--- a/src/tui/light.go
+++ b/src/tui/light.go
@@ -189,6 +189,10 @@ func (r *LightRenderer) Init() {
}
}
+func (r *LightRenderer) Resize(maxHeightFunc func(int) int) {
+ r.maxHeightFunc = maxHeightFunc
+}
+
func (r *LightRenderer) makeSpace() {
r.stderr("\n")
r.csi("G")
@@ -676,6 +680,9 @@ func (r *LightRenderer) MaxX() int {
}
func (r *LightRenderer) MaxY() int {
+ if r.height == 0 {
+ r.updateTerminalSize()
+ }
return r.height
}
diff --git a/src/tui/tcell.go b/src/tui/tcell.go
index 85ef1dd8..1f9a832b 100644
--- a/src/tui/tcell.go
+++ b/src/tui/tcell.go
@@ -99,6 +99,8 @@ const (
AttrClear = Attr(1 << 8)
)
+func (r *FullscreenRenderer) Resize(maxHeightFunc func(int) int) {}
+
func (r *FullscreenRenderer) defaultTheme() *ColorTheme {
if _screen.Colors() >= 256 {
return Dark256
diff --git a/src/tui/tui.go b/src/tui/tui.go
index eb09da40..c6d71c12 100644
--- a/src/tui/tui.go
+++ b/src/tui/tui.go
@@ -358,6 +358,7 @@ func MakeTransparentBorder() BorderStyle {
type Renderer interface {
Init()
+ Resize(maxHeightFunc func(int) int)
Pause(clear bool)
Resume(clear bool, sigcont bool)
Clear()