github.com/tooploox/oya@v0.0.21-0.20230524103240-1cda1861aad6/pkg/template/delimiters.go (about) 1 package template 2 3 import( 4 "fmt" 5 "strings" 6 ) 7 8 type Delimiters struct { 9 Start string 10 End string 11 } 12 13 type invalidDelimitersFormat struct { 14 Delimiters string 15 } 16 17 func (e *invalidDelimitersFormat) Error() string { 18 return fmt.Sprintf("Invalid template delimiters \"%v\". Use 2 chars, seperate with 3 dots. for ex: \"{{...}}\"", e.Delimiters) 19 } 20 21 func ParseDelimiters(s string) (Delimiters, error) { 22 arr := strings.Split(s, "...") 23 if len(arr) != 2 { 24 return Delimiters{}, &invalidDelimitersFormat{s} 25 } 26 return Delimiters{arr[0], arr[1]}, nil 27 }