From 6a2393299b4366dbba442011a5d9afaf4266b790 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Aug 2022 08:01:40 +0530 Subject: [PATCH] Add a write completed callback --- tools/tui/loop.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/tui/loop.go b/tools/tui/loop.go index 368970fa6..207d1d791 100644 --- a/tools/tui/loop.go +++ b/tools/tui/loop.go @@ -83,6 +83,9 @@ type Loop struct { // Called when the terminal is resize OnResize func(loop *Loop, old_size ScreenSize, new_size ScreenSize) error + + // Called when writing is done + OnWriteComplete func(loop *Loop) error } func (self *Loop) update_screen_size() error { @@ -370,6 +373,12 @@ func (self *Loop) Run() (err error) { if err != nil { return err } + if self.OnWriteComplete != nil && len(self.write_buf) == 0 { + err = self.OnWriteComplete(self) + if err != nil { + return err + } + } } if selector.IsReadyToRead(tty_fd) { read_buf = read_buf[:cap(read_buf)]