2015-08-01 01:19:45 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
2015-08-01 03:16:05 +02:00
|
|
|
"strings"
|
2015-08-01 01:19:45 +02:00
|
|
|
|
|
|
|
"github.com/mthie/git-gohooks/general"
|
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
files := general.GetChangedGoFiles()
|
|
|
|
if files == nil {
|
|
|
|
os.Exit(0)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
args := []string{"-l"}
|
|
|
|
args = append(args, files...)
|
|
|
|
|
2015-08-01 01:54:18 +02:00
|
|
|
result, _ := general.RunCommand("gofmt", args...)
|
2015-08-01 01:19:45 +02:00
|
|
|
if result == "" {
|
|
|
|
os.Exit(0)
|
|
|
|
return
|
|
|
|
}
|
2015-08-01 03:16:05 +02:00
|
|
|
|
|
|
|
resultFiles := strings.Split(result, "\n")
|
|
|
|
|
2015-08-01 01:19:45 +02:00
|
|
|
fmt.Fprint(os.Stderr, "Go files must be formatted with gofmt. Please run:\n\n")
|
|
|
|
fmt.Fprint(os.Stderr, " gofmt -w")
|
2015-08-01 03:16:05 +02:00
|
|
|
for _, file := range resultFiles {
|
2015-08-01 01:19:45 +02:00
|
|
|
fmt.Fprint(os.Stderr, " \\\n")
|
|
|
|
fmt.Fprintf(os.Stderr, " %s", file)
|
|
|
|
}
|
|
|
|
fmt.Fprint(os.Stderr, "\n")
|
|
|
|
os.Exit(1)
|
|
|
|
}
|