diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4b0a34916..c6f31b280 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -95,6 +95,11 @@ repos: exclude: ".supp$" args: ["-L", "nd,ot,thist"] +- repo: https://github.com/shellcheck-py/shellcheck-py + rev: v0.7.2.1 + hooks: + - id: shellcheck + # The original pybind11 checks for a few C++ style items - repo: local hooks: diff --git a/tools/check-style.sh b/tools/check-style.sh index f7af2a416..6d832523a 100755 --- a/tools/check-style.sh +++ b/tools/check-style.sh @@ -16,11 +16,11 @@ check_style_errors=0 IFS=$'\n' -found="$(grep '\<\(if\|for\|while\|catch\)(\|){' $@ -rn --color=always)" +found="$(grep '\<\(if\|for\|while\|catch\)(\|){' "$@" -rn --color=always)" if [ -n "$found" ]; then echo -e '\033[31;01mError: found the following coding style problems:\033[0m' check_style_errors=1 - echo "$found" | sed -e 's/^/ /' + echo "${found//^/ /}" fi found="$(awk ' @@ -34,7 +34,7 @@ last && /^\s*{/ { last="" } { last = /(if|for|while|catch|switch)\s*\(.*\)\s*$/ ? $0 : "" } -' $(find include -type f) $@)" +' "$(find include -type f)" "$@")" if [ -n "$found" ]; then check_style_errors=1 echo -e '\033[31;01mError: braces should occur on the same line as the if/while/.. statement. Found issues in the following files:\033[0m'