Skip to content
Snippets Groups Projects
Verified Commit 54e2fca8 authored by rahix's avatar rahix
Browse files

feat(code-style.sh): Format Python files using black


Signed-off-by: default avatarRahix <rahix@rahix.de>
parent 9cd56629
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
set -e
###########################
# Check tools
if ! command -v clang-format >/dev/null 2>&1; then
echo "$0: requires clang-format." >&2
exit 127
# If any C files are formatted
if [[ "$*" == *.c* ]]; then
if ! command -v clang-format >/dev/null 2>&1; then
echo "$0: requires clang-format." >&2
exit 127
fi
if ! command -v python3 >/dev/null 2>&1; then
echo "$0: requires python3." >&2
exit 127
fi
fi
if ! command -v python3 >/dev/null 2>&1; then
echo "$0: requires python3." >&2
exit 127
# If any Python files are formatted
if [[ "$*" == *.py* ]]; then
if ! command -v black >/dev/null 2>&1; then
echo "$0: requires black (python formatter)." >&2
echo "" >&2
echo "You can install \`black\` using pip3:" >&2
echo "" >&2
echo " pip3 install --user black" >&2
echo "" >&2
exit 127
fi
fi
if [[ "$#" == 0 ]]; then
......@@ -20,12 +38,24 @@ fi
script_dir="$(dirname "$0")"
for source_file in "$@"; do
# Check if file is actually one which we want to check
rel_path="$(realpath --relative-to="$script_dir/.." "$source_file")"
if [[ ( "$rel_path" == lib/* && "$rel_path" != lib/card10/* ) ||
( "$rel_path" == openocd/* ) ||
( "$rel_path" == ble/* ) ]]; then
echo " - Ignoring $source_file"
continue
fi
if [[ "$source_file" == *.c ]]; then
echo "Formatting $source_file ..."
echo " - Formatting $source_file ..."
clang-format -i "$source_file"
python3 "$script_dir/fix-multi-decl.py" "$source_file"
elif [[ "$source_file" == *.py ]]; then
echo " - Formatting $source_file ..."
black -q "$source_file"
else
echo "Not a C file: $source_file" >&2
echo " - Ignoring $source_file" >&2
continue
fi
done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment