Add a simple whitespace linter
The goimports tool does not check for trailing whitespaces in multiline strings. This commit adds a simple linter to address this deficiency. This change will also have the benefit of providing light linting of any non-go files. Change-Id: I253dd7c4895f476fa3a6f0c4fccf7c9cada16366
This commit is contained in:
parent
a8cc7ed2bf
commit
1b8a965105
1
Makefile
1
Makefile
@ -80,6 +80,7 @@ fmt: lint
|
||||
lint: tidy
|
||||
lint: $(LINTER)
|
||||
@echo "Performing linting step..."
|
||||
@./tools/whitespace_linter
|
||||
@./$(LINTER) run --config $(LINTER_CONFIG)
|
||||
@echo "Linting completed successfully"
|
||||
|
||||
|
11
tools/whitespace_linter
Executable file
11
tools/whitespace_linter
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# git 1.9.0+ allows for exclusions in pathspecs via ':!foo' syntax.
|
||||
# However, until git 2.13.0 there must be at least one "inclusive" pathspec, hence the './*'
|
||||
trailing_whitespace=$(git grep -E -n -- ' +$' -- './*' ':!*.png')
|
||||
|
||||
if [[ -n "$trailing_whitespace" ]]; then
|
||||
printf "ERROR: Trailing whitespaces:\n"
|
||||
awk 'BEGIN {FS=":"} {printf " * %s:%s\n", $1, $2}' <<< "$trailing_whitespace"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user