package main import ( "bytes" "code.squareroundforest.org/arpio/treerack" "fmt" "log" "os" ) func format(name string) (err error) { var inBytes []byte if inBytes, err = os.ReadFile(name); err != nil { return } in := bytes.NewBuffer(inBytes) s := new(treerack.Syntax) if err = s.ReadSyntax(in); err != nil { return } out := bytes.NewBuffer(nil) if err = s.Format(out); err != nil { return } if bytes.Equal(out.Bytes(), inBytes) { return } fmt.Fprintln(os.Stderr, name) if err = os.WriteFile(name, out.Bytes(), 0644); err != nil { return } return } func main() { for _, f := range os.Args[1:] { if err := format(f); err != nil { log.Fatalf("%s: %v", f, err) } } }