code: func (h *windowsAnsiEventHandler) getCurrentInfo() (COORD, *CONSOLE_SCREEN_BUFFER_INFO, error) {
  	if h.curInfo == nil {
  		info, err := GetConsoleScreenBufferInfo(h.fd)
  		if err != nil {
  			return COORD{}, nil, err
  		}
  		h.curInfo = info
  		h.curPos = info.CursorPosition
  	}
  	return h.curPos, h.curInfo, nil
  }
docs: // cacheConsoleInfo ensures that the current console screen information has been queried
  // since the last call to Flush(). It must be called before accessing h.curInfo or h.curPos.