36 lines
687 B
Bash
36 lines
687 B
Bash
#!/bin/env bash
|
|
|
|
# Usage: ./Cleanup [FILE]...
|
|
|
|
lint_file() {
|
|
cppcheck --enable=all --quiet "$1"
|
|
}
|
|
|
|
whitespace_cleanup() {
|
|
sed -i 's/[ \t]*$//' "$1"
|
|
awk 'BEGIN{ORS=""} {print $0 "\n"} END{}' "$1" > "$1.tmp" && mv "$1.tmp" "$1"
|
|
}
|
|
|
|
comment_check() {
|
|
if grep -n -E 'TODO|FIXME' "$1"; then
|
|
echo "[WARN] $1 contains TODO/FIXME comments."
|
|
fi
|
|
}
|
|
|
|
process_file() {
|
|
clang-format -i "$1"
|
|
tools/check_header_footer "$1"
|
|
lint_file "$1"
|
|
whitespace_cleanup "$1"
|
|
comment_check "$1"
|
|
}
|
|
|
|
if [[ $# -gt 0 ]]; then
|
|
for file in "$@"; do
|
|
process_file "$file"
|
|
done
|
|
else
|
|
for file in $(find yait core -type f \( -name "*.c" -o -name "*.h" \)); do
|
|
process_file "$file"
|
|
done
|
|
fi |