code: func (s *ScreenBuf) Flush() error {
  	for i := s.cursor; i < s.height; i++ {
  		if i < s.height {
  			_, err := s.buf.Write(clearLine)
  			if err != nil {
  				return err
  			}
  		}
  		_, err := s.buf.Write(moveDown)
  		if err != nil {
  			return err
  		}
  	}
  
  	_, err := s.buf.WriteTo(s.w)
  	if err != nil {
  		return err
  	}
  
  	s.buf.Reset()
  
  	for i := 0; i < s.height; i++ {
  		_, err := s.buf.Write(moveUp)
  		if err != nil {
  			return err
  		}
  	}
  
  	s.cursor = 0
  
  	return nil
  }
docs: // Flush writes any buffered data to the underlying io.Writer, ensuring that any pending data is displayed.