in tools/gen-go-enum/main.go [197:244]
func main() {
flag.Parse()
if className == "" || len(enumValues) == 0 {
flag.Usage()
return
}
if packageName == "" {
packageName = "enum"
}
if enumName == "" {
classItems := strings.Split(className, ".")
enumName = classItems[len(classItems)-1]
}
if targetFile == "" {
targetFile = snakeCase(enumName) + ".go"
}
tmpl, err := template.New("enum").Funcs(template.FuncMap{"pascalCase": pascalCase}).Parse(enumTempl)
if err != nil {
log.Fatalln("Error: can't parse code template!!!", err)
}
fd, err := os.Create(targetFile)
if err != nil {
log.Fatalln("Error: can't open target file!!!", err)
}
defer func() { _ = fd.Close() }()
err = tmpl.Execute(fd, &viewData{
ClassName: className,
PackageName: packageName,
EnumName: enumName,
EnumValues: enumValues,
})
if err != nil {
log.Fatalln("Error: can't write target file!!!", err)
}
fmt.Printf("Create file '%s'!\n", targetFile)
}