code: func (s *Scanner) peekIgnoreWhitespace() rune {
  	var b []byte
  	if s.i < len(s.b) {
  		b = s.b[s.i:]
  	}
  
  	for i := 0; ; i++ {
  		if len(b) == 0 {
  			return eof
  		}
  
  		ch, sz := utf8.DecodeRune(b)
  		if !isWhitespace(ch) {
  			return ch
  		}
  
  		b = b[sz:]
  	}
  }
docs: // peekIgnoreWhitespace reads the non-whitespace rune.