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: tidy
|
||||||
lint: $(LINTER)
|
lint: $(LINTER)
|
||||||
@echo "Performing linting step..."
|
@echo "Performing linting step..."
|
||||||
|
@./tools/whitespace_linter
|
||||||
@./$(LINTER) run --config $(LINTER_CONFIG)
|
@./$(LINTER) run --config $(LINTER_CONFIG)
|
||||||
@echo "Linting completed successfully"
|
@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