custom-checks: handle multiple dirs

This also fixes a [shellcheck issue](https://github.com/koalaman/shellcheck/wiki/SC2013).
This commit is contained in:
Daniel Hahler 2017-04-27 22:09:23 +02:00
parent 10679b29c3
commit 236da06050
1 changed files with 11 additions and 9 deletions

View File

@ -44,24 +44,26 @@ fi
shopt -s globstar shopt -s globstar
directory="$1" directories=("$@")
check_errors() { check_errors() {
regex="$1" regex="$1"
message="$2" message="$2"
for match in $( for directory in "${directories[@]}"; do
grep -n "$regex" "$directory"/**/*.vim \ while IFS= read -r match; do
| grep -o '^[^:]\+:[0-9]\+' \ RETURN_CODE=1
| sed 's:^\./::' echo "$match $message"
); do done < <(grep -n "$regex" "$directory"/**/*.vim \
RETURN_CODE=1 | grep -o '^[^:]\+:[0-9]\+' \
echo "$match $message" | sed 's:^\./::')
done done
} }
if (( FIX_ERRORS )); then if (( FIX_ERRORS )); then
sed -i "s/^\(function.*)\) *$/\1 abort/" "$directory"/**/*.vim for directory in "${directories[@]}"; do
sed -i "s/^\(function.*)\) *$/\1 abort/" "$directory"/**/*.vim
done
fi fi
check_errors \ check_errors \