comment_token.go 578 B

1234567891011121314151617181920212223242526272829303132333435
  1. package ini
  2. // isComment will return whether or not the next byte(s) is a
  3. // comment.
  4. func isComment(b []rune) bool {
  5. if len(b) == 0 {
  6. return false
  7. }
  8. switch b[0] {
  9. case ';':
  10. return true
  11. case '#':
  12. return true
  13. }
  14. return false
  15. }
  16. // newCommentToken will create a comment token and
  17. // return how many bytes were read.
  18. func newCommentToken(b []rune) (Token, int, error) {
  19. i := 0
  20. for ; i < len(b); i++ {
  21. if b[i] == '\n' {
  22. break
  23. }
  24. if len(b)-i > 2 && b[i] == '\r' && b[i+1] == '\n' {
  25. break
  26. }
  27. }
  28. return newToken(TokenComment, b[:i], NoneType), i, nil
  29. }