Add a write completed callback
This commit is contained in:
parent
ab66b3f4c0
commit
6a2393299b
@ -83,6 +83,9 @@ type Loop struct {
|
|||||||
|
|
||||||
// Called when the terminal is resize
|
// Called when the terminal is resize
|
||||||
OnResize func(loop *Loop, old_size ScreenSize, new_size ScreenSize) error
|
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 {
|
func (self *Loop) update_screen_size() error {
|
||||||
@ -370,6 +373,12 @@ func (self *Loop) Run() (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
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) {
|
if selector.IsReadyToRead(tty_fd) {
|
||||||
read_buf = read_buf[:cap(read_buf)]
|
read_buf = read_buf[:cap(read_buf)]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user