src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

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 }