Commit d96f74ae3483b4e7c4cb3112cb5a7a45d358dbf8
1 parent
a3b939ce
Use version-specific clang-format if available
Showing
1 changed file
with
11 additions
and
6 deletions
format-code
| ... | ... | @@ -25,18 +25,23 @@ |
| 25 | 25 | # that refers to this comment. See also .clang-format. |
| 26 | 26 | min_version=18 |
| 27 | 27 | |
| 28 | -clang_version=$(clang-format --version | \ | |
| 29 | - awk '{for (i=1; i<=NF; i++) if ($i == "version") {print int($(i+1)); exit}}') | |
| 30 | -if [ "$clang_version" -lt "$min_version" ]; then | |
| 31 | - echo "clang-format version >= $min_version is required" | |
| 32 | - exit 2 | |
| 28 | +clang_format=clang-format | |
| 29 | +if clang-format-$min_version --version >/dev/null 2>&1; then | |
| 30 | + clang_format=clang-format-$min_version | |
| 31 | +else | |
| 32 | + clang_version=$(clang-format --version | \ | |
| 33 | + awk '{for (i=1; i<=NF; i++) if ($i == "version") {print int($(i+1)); exit}}') | |
| 34 | + if [ "$clang_version" -lt "$min_version" ]; then | |
| 35 | + echo "clang-format version >= $min_version is required" | |
| 36 | + exit 2 | |
| 37 | + fi | |
| 33 | 38 | fi |
| 34 | 39 | |
| 35 | 40 | cd $(dirname $0) |
| 36 | 41 | for i in $(find . -name 'build*' -prune -o '(' \ |
| 37 | 42 | -name '*.hh' -o -name '*.h' -o -name '*.cc' -o -name '*.c' \ |
| 38 | 43 | ')' -print); do |
| 39 | - if clang-format < $i >| $i.new; then | |
| 44 | + if $clang_format < $i >| $i.new; then | |
| 40 | 45 | if diff -q $i $i.new >/dev/null 2>/dev/null; then |
| 41 | 46 | echo "okay: $i" |
| 42 | 47 | rm $i.new | ... | ... |