all: formatting (#93)

Enforce stricter formatting and import grouping with gofumports.
This commit is contained in:
Michael McLoughlin
2019-07-30 18:40:47 -07:00
committed by GitHub
parent d43efabdbe
commit bb615f61ce
11 changed files with 34 additions and 5 deletions

View File

@@ -20,3 +20,6 @@ go get -u github.com/dlespiau/covertool
# asmfmt for enforcing assembly style
go get -u github.com/klauspost/asmfmt/cmd/asmfmt
# gofumports for stricter formatting
go get -u mvdan.cc/gofumpt/gofumports

15
script/fmt Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash -ex
repo="github.com/mmcloughlin/avo"
# Files to apply formatting to. Exclude stadtx since some of it was imported
# from the original repo.
files=$(find . -name '*.go' -not -path '*/stadtx/*')
# Remove blank lines in import blocks. This will force formatting to group
# imports correctly.
sed -i.fmtbackup '/^import (/,/)/ { /^$$/ d; }' ${files}
find . -name '*.fmtbackup' -delete
# gofumports is goimports with stricter formatting.
gofumports -w -local ${repo} ${files}

View File

@@ -4,6 +4,10 @@
./script/generate
test -z "$(git status --porcelain)"
# Still clean after formatting.
./script/fmt
test -z "$(git status --porcelain)"
# And it's still clean after asmfmt.
# Note: we want to confirm we agree with asmfmt without actually depending on it.
find . -name '*.s' | xargs asmfmt -w