// returns true if the move was successful, false if EOF reached.
returns true if the move was successful, false if EOF reached.
// returns true if the move was successful false if EOF reached .
func (c *cursor_location) move_one_word_forward() bool {
	for {
		if c.eol() {
			if c.last_line() {
				return false
			} else {
				c.line = c.line.next
				c.line_num++
				c.boffset = 0
				continue
			}
		}
		r, rlen := c.rune_under()
		for !is_word(r) && !c.eol() {
			c.boffset += rlen
			r, rlen = c.rune_under()
		}
		if c.eol() {
			continue
		}
		break
	}
	r, rlen := c.rune_under()
	for is_word(r) && !c.eol() {
		c.boffset += rlen
		r, rlen = c.rune_under()
	}
	return true
}
func ( c * cursor_location ) move_one_word_forward ( ) bool { for { if c . eol ( ) { if c . last_line ( ) { return false } else { c . line = c . line . next c . line_num ++ c . boffset = 0 continue } } r , rlen := c . rune_under ( ) for ! is_word ( r ) && ! c . eol ( ) { c . boffset += rlen r , rlen = c . rune_under ( ) } if c . eol ( ) { continue } break } r , rlen := c . rune_under ( ) for is_word ( r ) && ! c . eol ( ) { c . boffset += rlen r , rlen = c . rune_under ( ) } return true }
returns true if the move was successful, false if EOF reached.
returns true if the move was successful false if EOF reached .
// move cursor forward until the first word rune is met // now the cursor is under the word rune, skip all of them