2016-03-16 22:00:28 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# Make sure file has a trailing newline
|
|
|
|
|
|
|
|
f="$1"
|
|
|
|
|
|
|
|
if [ -z "$f" ]; then
|
|
|
|
echo "usage: $0 <file>"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2016-10-11 17:06:29 +00:00
|
|
|
if [ ! -f "$f" ]; then
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [[ $(tail -c1 "$f") ]]; then
|
2016-03-16 22:00:28 +00:00
|
|
|
echo "$f: No newline at end of file"
|
|
|
|
echo '' >> "$f"
|
|
|
|
exit 1
|
|
|
|
fi
|
2016-10-11 17:06:29 +00:00
|
|
|
|
|
|
|
if [[ ! $(tail -c2 "$f") ]]; then
|
|
|
|
echo "$f: Extra trailing newline"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2016-11-28 17:36:51 +00:00
|
|
|
if grep -q $'\r' "$f"; then
|
|
|
|
echo "$f: DOS-style newlines"
|
|
|
|
dos2unix "$f" &> /dev/null
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2017-10-20 16:39:35 +00:00
|
|
|
if grep -q $'[\t ]$' "$f"; then
|
|
|
|
echo "$f: Trailing whitespace"
|
|
|
|
sed -i $'s/[ \t]*$//' "$f"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2016-10-11 17:06:29 +00:00
|
|
|
exit 0
|