package generator import ( _ "embed" "path/filepath" "strings" "github.com/zeromicro/go-zero/tools/goctl/util" "github.com/zeromicro/go-zero/tools/goctl/util/pathx" "github.com/zeromicro/go-zero/tools/goctl/util/stringx" ) //go:embed rpc.tpl var rpcTemplateText string // ProtoTmpl returns a sample of a proto file func ProtoTmpl(out string) error { protoFilename := filepath.Base(out) serviceName := stringx.From(strings.TrimSuffix(protoFilename, filepath.Ext(protoFilename))) text, err := pathx.LoadTemplate(category, rpcTemplateFile, rpcTemplateText) if err != nil { return err } dir := filepath.Dir(out) err = pathx.MkdirIfNotExist(dir) if err != nil { return err } err = util.With("t").Parse(text).SaveTo(map[string]string{ "package": serviceName.Untitle(), "serviceName": serviceName.Title(), }, out, false) return err }