#!/bin/bash # # Recursively format all C & C++ sources and header files, except those in the # 'config' directory and generated files, such as H5LTanalyze.c, etc. # # Note that any files or directories that are excluded here should also be # added to the 'exclude' list in .github/workflows/clang-format-check.yml COMMAND="clang-format" if [ $# -eq 1 ]; then COMMAND="$COMMAND-$1" fi echo "" echo "bin/format_source " echo "" echo "Format the HDF5 C source using clang-format. The " echo "parameter is optional and can be used to force a specific" echo "installed version of clang-format to be used." echo "" find . \( -type d -path ./config -prune -and -not -path ./config \) \ -or \( \( \! \( \ -name H5LTanalyze.c \ -or -name H5LTparse.c \ -or -name H5LTparse.h \ -or -name H5Epubgen.h \ -or -name H5Einit.h \ -or -name H5Eterm.h \ -or -name H5Edefin.h \ -or -name H5version.h \ -or -name H5overflow.h \ \) \) \ -and \( -iname *.h -or -iname *.c -or -iname *.cpp -or -iname *.hpp -or -iname *.java \) \) \ | xargs -P0 -n1 ${COMMAND} -style=file -i -fallback-style=none exit 0