diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2022-09-08 01:01:22 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2022-09-28 23:22:31 +0900 |
| commit | 22cbd9fa58512ffdcc975bab37a55467d5e10968 (patch) | |
| tree | bddf8d579d8fe88abc4a6014f1a0e936d48be7c7 /src/tui | |
| parent | 984049586a5e5409131e4cb4600115f4a6b9c669 (diff) | |
| download | fzf-22cbd9fa58512ffdcc975bab37a55467d5e10968.tar.gz | |
Implement height range (--height ~[VALUE][%])
Close #2953
Diffstat (limited to 'src/tui')
| -rw-r--r-- | src/tui/dummy.go | 13 | ||||
| -rw-r--r-- | src/tui/light.go | 7 | ||||
| -rw-r--r-- | src/tui/tcell.go | 2 | ||||
| -rw-r--r-- | src/tui/tui.go | 1 |
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() |
