Add support for service prefix parameter

Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
Derek McGowan 2022-05-04 22:31:07 -07:00
parent 691908d521
commit 1ba75c411d
2 changed files with 13 additions and 4 deletions

View File

@ -90,7 +90,7 @@ func newGenerator(out *protogen.GeneratedFile) *generator {
return &gen
}
func generate(plugin *protogen.Plugin, input *protogen.File) error {
func generate(plugin *protogen.Plugin, input *protogen.File, servicePrefix string) error {
if len(input.Services) == 0 {
// Only generate a Go file if the file has some services.
return nil
@ -103,6 +103,7 @@ func generate(plugin *protogen.Plugin, input *protogen.File) error {
gen := newGenerator(file)
for _, service := range input.Services {
service.GoName = servicePrefix + service.GoName
gen.genService(service)
}
return nil
@ -266,7 +267,7 @@ func (gen *generator) genService(service *protogen.Service) {
p.P()
}
clientStructType := strings.ToLower(clientType[:1]) + clientType[1:]
clientStructType := strings.ToLower(service.GoName) + "Client"
p.P("type ", clientStructType, " struct{")
p.P("client *", gen.ident.client)
p.P("}")

View File

@ -21,12 +21,20 @@ import (
)
func main() {
protogen.Options{}.Run(func(gen *protogen.Plugin) error {
var servicePrefix string
protogen.Options{
ParamFunc: func(name, value string) error {
if name == "prefix" {
servicePrefix = value
}
return nil
},
}.Run(func(gen *protogen.Plugin) error {
for _, f := range gen.Files {
if !f.Generate {
continue
}
if err := generate(gen, f); err != nil {
if err := generate(gen, f, servicePrefix); err != nil {
return err
}
}