package main import ( "flag" "fmt" "google.golang.org/protobuf/compiler/protogen" "google.golang.org/protobuf/types/pluginpb" ) const version = "v2.0.0-rc6" func main() { showVersion := flag.Bool("version", false, "print the version and exit") flag.Parse() if *showVersion { fmt.Printf("protoc-gen-go-errors %v\n", version) return } var flags flag.FlagSet protogen.Options{ ParamFunc: flags.Set, }.Run(func(gen *protogen.Plugin) error { gen.SupportedFeatures = uint64(pluginpb.CodeGeneratorResponse_FEATURE_PROTO3_OPTIONAL) for _, f := range gen.Files { if !f.Generate { continue } generateFile(gen, f) } return nil }) }