sep_tokens.go (578B)
1 package ini 2 3 import ( 4 "fmt" 5 ) 6 7 var ( 8 emptyRunes = []rune{} 9 ) 10 11 func isSep(b []rune) bool { 12 if len(b) == 0 { 13 return false 14 } 15 16 switch b[0] { 17 case '[', ']': 18 return true 19 default: 20 return false 21 } 22 } 23 24 var ( 25 openBrace = []rune("[") 26 closeBrace = []rune("]") 27 ) 28 29 func newSepToken(b []rune) (Token, int, error) { 30 tok := Token{} 31 32 switch b[0] { 33 case '[': 34 tok = newToken(TokenSep, openBrace, NoneType) 35 case ']': 36 tok = newToken(TokenSep, closeBrace, NoneType) 37 default: 38 return tok, 0, NewParseError(fmt.Sprintf("unexpected sep type, %v", b[0])) 39 } 40 return tok, 1, nil 41 }