diff options
| author | Abin Simon <mail@meain.io> | 2022-12-10 07:37:34 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-10 02:07:34 +0000 |
| commit | deab8fb972f0cbc03c6a5409564435121b5db9c2 (patch) | |
| tree | d6c9545bc54fbcb5a4687c38bddb03a068dcd8b7 | |
| parent | 049b724858c5c6f43a7a0831ddc2d85920dcd0c3 (diff) | |
Add gofumpt and goimports as formatter options (#147)
* Add gofumpt and goimports as formatter options
* Add tests for gofumpt and goimports
* changelog
Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
| -rw-r--r-- | CHANGELOG.md | 4 | ||||
| -rw-r--r-- | apheleia.el | 2 | ||||
| -rw-r--r-- | test/formatters/installers/gofumpt.bash | 6 | ||||
| -rw-r--r-- | test/formatters/installers/goimports.bash | 3 | ||||
| -rw-r--r-- | test/formatters/samplecode/gofumpt/in.go | 10 | ||||
| -rw-r--r-- | test/formatters/samplecode/gofumpt/out.go | 8 | ||||
| -rw-r--r-- | test/formatters/samplecode/goimports/in.go | 12 | ||||
| -rw-r--r-- | test/formatters/samplecode/goimports/out.go | 12 |
8 files changed, 57 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index de3fb90..95a6bd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,9 @@ The format is based on [Keep a Changelog]. * [`crystal tool format`](https://crystal-lang.org/reference/1.6/man/crystal/index.html#crystal-tool-format) for [Crystal](https://crystal-lang.org/) ([#137]). +* [gofumpt](https://pkg.go.dev/mvdan.cc/gofumpt) and + [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports) for + [Go](https://golang.google.cn/) ([#147]). [#131]: https://github.com/radian-software/apheleia/issues/131 [#134]: https://github.com/radian-software/apheleia/issues/134 @@ -36,6 +39,7 @@ The format is based on [Keep a Changelog]. [#138]: https://github.com/radian-software/apheleia/pull/138 [#143]: https://github.com/radian-software/apheleia/pull/143 [#145]: https://github.com/radian-software/apheleia/pull/145 +[#147]: https://github.com/radian-software/apheleia/pull/147 ## 3.1 (released 2022-11-11) ### Enhancements diff --git a/apheleia.el b/apheleia.el index 3d0bd0c..076438c 100644 --- a/apheleia.el +++ b/apheleia.el @@ -956,6 +956,8 @@ being run, for diagnostic purposes." (elm-format . ("elm-format" "--yes" "--stdin")) (fish-indent . ("fish_indent")) (gofmt . ("gofmt")) + (gofumpt . ("gofumpt")) + (goimports . ("goimports")) (google-java-format . ("google-java-format" "-")) (isort . ("isort" "-")) (lisp-indent . apheleia-indent-lisp-buffer) diff --git a/test/formatters/installers/gofumpt.bash b/test/formatters/installers/gofumpt.bash new file mode 100644 index 0000000..b16ef37 --- /dev/null +++ b/test/formatters/installers/gofumpt.bash @@ -0,0 +1,6 @@ +# Require at least version 1.17 of go +# https://github.com/mvdan/gofumpt/issues/231 +curl -OL https://golang.org/dl/go1.19.3.linux-amd64.tar.gz +sudo tar -C /usr/local -xvf go1.19.3.linux-amd64.tar.gz +/usr/local/go/bin/go install mvdan.cc/gofumpt@latest +cp -L "$HOME/go/bin/gofumpt" /usr/local/bin/
\ No newline at end of file diff --git a/test/formatters/installers/goimports.bash b/test/formatters/installers/goimports.bash new file mode 100644 index 0000000..18d4471 --- /dev/null +++ b/test/formatters/installers/goimports.bash @@ -0,0 +1,3 @@ +apt-get install -y golang-go +go get -u golang.org/x/tools/cmd/goimports +cp -L "$HOME/go/bin/goimports" /usr/local/bin/
\ No newline at end of file diff --git a/test/formatters/samplecode/gofumpt/in.go b/test/formatters/samplecode/gofumpt/in.go new file mode 100644 index 0000000..c70abb4 --- /dev/null +++ b/test/formatters/samplecode/gofumpt/in.go @@ -0,0 +1,10 @@ +package asdfasdf + +func Factorial(x int) int { + + if x <= 1 { + return x +} + return x * Factorial(x - 1, +) + } diff --git a/test/formatters/samplecode/gofumpt/out.go b/test/formatters/samplecode/gofumpt/out.go new file mode 100644 index 0000000..1437eb1 --- /dev/null +++ b/test/formatters/samplecode/gofumpt/out.go @@ -0,0 +1,8 @@ +package asdfasdf + +func Factorial(x int) int { + if x <= 1 { + return x + } + return x * Factorial(x-1) +} diff --git a/test/formatters/samplecode/goimports/in.go b/test/formatters/samplecode/goimports/in.go new file mode 100644 index 0000000..3583cc5 --- /dev/null +++ b/test/formatters/samplecode/goimports/in.go @@ -0,0 +1,12 @@ +package asdfasdf +func + +Factorial(x int) int { + if x <= + 1 { + return x +} + fmt.Println( "Hello there!" ) + return x * Factorial(x - 1, +) + } diff --git a/test/formatters/samplecode/goimports/out.go b/test/formatters/samplecode/goimports/out.go new file mode 100644 index 0000000..e56e679 --- /dev/null +++ b/test/formatters/samplecode/goimports/out.go @@ -0,0 +1,12 @@ +package asdfasdf + +import "fmt" + +func Factorial(x int) int { + if x <= + 1 { + return x + } + fmt.Println("Hello there!") + return x * Factorial(x-1) +} |
