package main import ( "fmt" "io" ) func pbHeaderComment(w io.Writer) { // technically this should be the first line and in this exact format: fmt.Fprintln(w, "// Code modified by go.wit.com/apps/autogenpb DO NOT EDIT.") fmt.Fprintln(w, "//") fmt.Fprintln(w, "// user defined Mutex locks were auto added") fmt.Fprintln(w, "//") fmt.Fprintln(w, "// autogenpb version & build time:", VERSION, BUILDTIME) fmt.Fprintln(w, "// autogenpb auto generates Sort(), Unique() and Marshal() functions") fmt.Fprintln(w, "// go install go.wit.com/apps/autogenpb@latest") fmt.Fprintln(w, "") } func headerComment(w io.Writer) { // technically this should be the first line and in this exact format: fmt.Fprintln(w, "// Code generated by go.wit.com/apps/autogenpb DO NOT EDIT.") fmt.Fprintln(w, "// This file was autogenerated with autogenpb", VERSION, BUILDTIME) fmt.Fprintln(w, "// go install go.wit.com/apps/autogenpb@latest") fmt.Fprintln(w, "//") fmt.Fprintln(w, "// define which structs (messages) you want to use in the .proto file") fmt.Fprintln(w, "// Then sort.pb.go and marshal.pb.go files are autogenerated") fmt.Fprintln(w, "//") fmt.Fprintln(w, "// autogenpb uses it and has an example .proto file with instructions") fmt.Fprintln(w, "//") fmt.Fprintln(w, "") } func header(w io.Writer, pf *File) { // header must come first headerComment(w) fmt.Fprintf(w, "package %s\n", pf.Package) fmt.Fprintln(w, "") fmt.Fprintln(w, "import (") fmt.Fprintln(w, " \"fmt\"") fmt.Fprintln(w, " \"sort\"") fmt.Fprintln(w, " \"sync\"") fmt.Fprintln(w, ")") fmt.Fprintln(w, "") }