diff --git a/node/gendemo/doc.go b/node/gendemo/doc.go index 298609ae..72351420 100644 --- a/node/gendemo/doc.go +++ b/node/gendemo/doc.go @@ -14,6 +14,5 @@ // The code generation is triggered by `go:generate` comments in the `doc.go` file. //go:generate go run gen.go -//go:generate gofmt -w . package gendemo diff --git a/schema/dmt/gen_trigger.go b/schema/dmt/gen_trigger.go index 24654799..25ba2ca2 100644 --- a/schema/dmt/gen_trigger.go +++ b/schema/dmt/gen_trigger.go @@ -1,4 +1,3 @@ //go:generate go run gen.go -//go:generate gofmt -w . package schemadmt diff --git a/schema/gen/go/generate.go b/schema/gen/go/generate.go index 062504e1..bf99654e 100644 --- a/schema/gen/go/generate.go +++ b/schema/gen/go/generate.go @@ -3,6 +3,7 @@ package gengo import ( "bytes" "fmt" + "go/format" "io" "io/ioutil" "path/filepath" @@ -150,7 +151,16 @@ func withFile(filename string, fn func(io.Writer)) { // more atomicity via the single write. buf := new(bytes.Buffer) fn(buf) - if err := ioutil.WriteFile(filename, buf.Bytes(), 0666); err != nil { + + src := buf.Bytes() + // Format the source before writing, just like gofmt would. + // This also prevents us from writing invalid syntax to disk. + src, err := format.Source(src) + if err != nil { + panic(err) + } + + if err := ioutil.WriteFile(filename, src, 0666); err != nil { panic(err) } }