code: func ScanBareIdent(r io.RuneScanner) string {
  	// Read every ident character into the buffer.
  	// Non-ident characters and EOF will cause the loop to exit.
  	var buf bytes.Buffer
  	for {
  		ch, _, err := r.ReadRune()
  		if err != nil {
  			break
  		} else if !isIdentChar(ch) {
  			r.UnreadRune()
  			break
  		} else {
  			_, _ = buf.WriteRune(ch)
  		}
  	}
  	return buf.String()
  }
docs: // ScanBareIdent reads bare identifier from a rune reader.