25 lines
661 B
Bash
Executable File
25 lines
661 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
set -o pipefail
|
|
|
|
MAJOR_REV=$((clang-format --version | awk '{print $3}' | cut -d '.' -f 1) || echo 0)
|
|
if [ $MAJOR_REV -lt 5 ]; then
|
|
echo "error: need at least clang-format version 5.x"
|
|
exit 1
|
|
fi
|
|
|
|
FORMAT_CMD="clang-format -i -style=file"
|
|
|
|
# No files passed, format everything
|
|
if [ $# -eq 0 ]; then
|
|
echo "formatting all C code in src/ and lib/"
|
|
find ./src -type f -name '*.c' -exec $FORMAT_CMD {} \;
|
|
find ./src -type f -name '*.h' -exec $FORMAT_CMD {} \;
|
|
find ./lib -type f -name '*.c' -exec $FORMAT_CMD {} \;
|
|
find ./lib -type f -name '*.h' -exec $FORMAT_CMD {} \;
|
|
exit 0
|
|
fi
|
|
|
|
# File names passed, format only those files
|
|
$FORMAT_CMD $@
|