code: func (v *View) Word(x, y int) (string, error) {
  	x, y, err := v.realPosition(x, y)
  	if err != nil {
  		return "", err
  	}
  
  	if x < 0 || y < 0 || y >= len(v.lines) || x >= len(v.lines[y]) {
  		return "", errors.New("invalid point")
  	}
  
  	str := lineType(v.lines[y]).String()
  
  	nl := strings.LastIndexFunc(str[:x], indexFunc)
  	if nl == -1 {
  		nl = 0
  	} else {
  		nl = nl + 1
  	}
  	nr := strings.IndexFunc(str[x:], indexFunc)
  	if nr == -1 {
  		nr = len(str)
  	} else {
  		nr = nr + x
  	}
  	return string(str[nl:nr]), nil
  }
docs: // Word returns a string with the word of the view's internal buffer
  // at the position corresponding to the point (x, y).