ws_token.go 437 B

12345678910111213141516171819202122232425
  1. package ini
  2. import (
  3. "unicode"
  4. )
  5. // isWhitespace will return whether or not the character is
  6. // a whitespace character.
  7. //
  8. // Whitespace is defined as a space or tab.
  9. func isWhitespace(c rune) bool {
  10. return unicode.IsSpace(c) && c != '\n' && c != '\r'
  11. }
  12. func newWSToken(b []rune) (Token, int, error) {
  13. i := 0
  14. for ; i < len(b); i++ {
  15. if !isWhitespace(b[i]) {
  16. break
  17. }
  18. }
  19. return newToken(TokenWS, b[:i], NoneType), i, nil
  20. }