From e1521a58d54921d907d868259d8d766d136aae48 Mon Sep 17 00:00:00 2001 From: Justin Buchanan Date: Sat, 14 Jul 2018 20:44:08 -0700 Subject: [PATCH] Move formatters into their own directory/package --- formatter.go | 15 ++++++----- .../buildifier.go | 2 +- clang_formatter.go => formatters/clang.go | 2 +- gofmt_formatter.go => formatters/gofmt.go | 2 +- .../prettier.go | 2 +- rustfmt_formatter.go => formatters/rustfmt.go | 2 +- .../uncrustify.go | 2 +- formatters/util.go | 27 +++++++++++++++++++ yapf_formatter.go => formatters/yapf.go | 2 +- readme.md | 2 +- util.go | 18 ------------- 11 files changed, 43 insertions(+), 33 deletions(-) rename buildifier_formatter.go => formatters/buildifier.go (97%) rename clang_formatter.go => formatters/clang.go (97%) rename gofmt_formatter.go => formatters/gofmt.go (97%) rename prettier_formatter.go => formatters/prettier.go (97%) rename rustfmt_formatter.go => formatters/rustfmt.go (97%) rename uncrustify_formatter.go => formatters/uncrustify.go (97%) create mode 100644 formatters/util.go rename yapf_formatter.go => formatters/yapf.go (97%) diff --git a/formatter.go b/formatter.go index c1f7366..a4cc256 100644 --- a/formatter.go +++ b/formatter.go @@ -8,6 +8,7 @@ import ( "os" "path/filepath" + "github.com/justbuchanan/stylize/formatters" "github.com/pmezard/go-difflib/difflib" ) @@ -132,12 +133,12 @@ var ( // If multiple formatters apply to the same file type, their order here // determines precedence. Lower index = higher priority. FormatterRegistry = []Formatter{ - &ClangFormatter{}, - &UncrustifyFormatter{}, - &PrettierFormatter{}, - &YapfFormatter{}, - &GofmtFormatter{}, - &BuildifierFormatter{}, - &RustfmtFormatter{}, + &formatters.ClangFormatter{}, + &formatters.UncrustifyFormatter{}, + &formatters.PrettierFormatter{}, + &formatters.YapfFormatter{}, + &formatters.GofmtFormatter{}, + &formatters.BuildifierFormatter{}, + &formatters.RustfmtFormatter{}, } ) diff --git a/buildifier_formatter.go b/formatters/buildifier.go similarity index 97% rename from buildifier_formatter.go rename to formatters/buildifier.go index 9a809c7..6db59e2 100644 --- a/buildifier_formatter.go +++ b/formatters/buildifier.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/clang_formatter.go b/formatters/clang.go similarity index 97% rename from clang_formatter.go rename to formatters/clang.go index 2bf5351..add7e39 100644 --- a/clang_formatter.go +++ b/formatters/clang.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/gofmt_formatter.go b/formatters/gofmt.go similarity index 97% rename from gofmt_formatter.go rename to formatters/gofmt.go index 948cd14..017a87e 100644 --- a/gofmt_formatter.go +++ b/formatters/gofmt.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/prettier_formatter.go b/formatters/prettier.go similarity index 97% rename from prettier_formatter.go rename to formatters/prettier.go index d700a61..54bf4a9 100644 --- a/prettier_formatter.go +++ b/formatters/prettier.go @@ -1,4 +1,4 @@ -package main +package formatters // https://github.com/prettier/prettier diff --git a/rustfmt_formatter.go b/formatters/rustfmt.go similarity index 97% rename from rustfmt_formatter.go rename to formatters/rustfmt.go index 669426b..8256706 100644 --- a/rustfmt_formatter.go +++ b/formatters/rustfmt.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/uncrustify_formatter.go b/formatters/uncrustify.go similarity index 97% rename from uncrustify_formatter.go rename to formatters/uncrustify.go index 68370ec..7f382fe 100644 --- a/uncrustify_formatter.go +++ b/formatters/uncrustify.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/formatters/util.go b/formatters/util.go new file mode 100644 index 0000000..611b1f1 --- /dev/null +++ b/formatters/util.go @@ -0,0 +1,27 @@ +package formatters + +import ( + "bytes" + "io" + "log" + "os/exec" + "strings" + + "github.com/pkg/errors" +) + +// Helper method that wraps exec.Command +func runIOCommand(args []string, in io.Reader, out io.Writer) error { + cmd := exec.Command(args[0], args[1:]...) + cmd.Stdin = in + cmd.Stdout = out + var stderr bytes.Buffer + cmd.Stderr = &stderr + err := cmd.Run() + if err != nil { + log.Print("Error running command: ", strings.Join(args, " ")) + return errors.Wrap(err, stderr.String()) + } + + return nil +} diff --git a/yapf_formatter.go b/formatters/yapf.go similarity index 97% rename from yapf_formatter.go rename to formatters/yapf.go index edb6911..fd2c5f1 100644 --- a/yapf_formatter.go +++ b/formatters/yapf.go @@ -1,4 +1,4 @@ -package main +package formatters import ( "io" diff --git a/readme.md b/readme.md index 831ceff..a38a26c 100644 --- a/readme.md +++ b/readme.md @@ -41,7 +41,7 @@ Stylize currently has support for: - [uncrustify](https://github.com/uncrustify/uncrustify) - [rustfmt](https://github.com/rust-lang-nursery/rustfmt) -Other formatters can easily be added. See the \*\_formatter.go files as examples. +Other formatters can easily be added. See the files in the 'formatters' directory as examples. ## Python version diff --git a/util.go b/util.go index bdb8251..a666166 100644 --- a/util.go +++ b/util.go @@ -2,8 +2,6 @@ package main import ( "bytes" - "io" - "log" "os/exec" "strings" @@ -11,22 +9,6 @@ import ( "github.com/pkg/errors" ) -// Helper method that wraps exec.Command -func runIOCommand(args []string, in io.Reader, out io.Writer) error { - cmd := exec.Command(args[0], args[1:]...) - cmd.Stdin = in - cmd.Stdout = out - var stderr bytes.Buffer - cmd.Stderr = &stderr - err := cmd.Run() - if err != nil { - log.Print("Error running command: ", strings.Join(args, " ")) - return errors.Wrap(err, stderr.String()) - } - - return nil -} - // Returns a list of files that have changed since the given git diffbase. These // file paths are relative to the root of the git repo, not necessarily the // given rootDir.