Skip to content
This repository has been archived by the owner on Jan 5, 2019. It is now read-only.

Commit

Permalink
protofmt overwrites on -w
Browse files Browse the repository at this point in the history
Change-Id: Ia51fafbc5a6d4c80d441db0f7bcda76abdeea496
  • Loading branch information
emicklei committed Feb 5, 2017
1 parent 03eeba9 commit c133878
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 71 deletions.
31 changes: 26 additions & 5 deletions cmd/protofmt/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,40 @@ func main() {
os.Exit(0)
}
for _, each := range flag.Args() {
if err := format(each, os.Stdout); err != nil {
if err := readFormatWrite(each); err != nil {
println(each, err.Error())
}
}
}

func format(input string, output io.Writer) error {
content, err := ioutil.ReadFile(input)
func readFormatWrite(filename string) error {
// open for read
file, err := os.Open(filename)
if err != nil {
return err
}
p := proto.NewParser(bytes.NewReader(content))
def, err := p.Parse()
// buffer before write
buf := new(bytes.Buffer)
if err := format(file, buf); err != nil {
return err
}
if *overwrite {
// write back to input
if err := ioutil.WriteFile(filename, buf.Bytes(), os.ModePerm); err != nil {
return err
}
} else {
// write to stdout
if _, err := io.Copy(os.Stdout, bytes.NewReader(buf.Bytes())); err != nil {
return err
}
}
return nil
}

func format(input io.Reader, output io.Writer) error {
parser := proto.NewParser(input)
def, err := parser.Parse()
if err != nil {
return err
}
Expand Down
66 changes: 0 additions & 66 deletions cmd/protofmt/unformatted_result.proto

This file was deleted.

0 comments on commit c133878

Please sign in to comment.