From 5070183726fa9e5f1183213ddd53b3d76085fb97 Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 16 Jan 2024 10:06:03 -0500 Subject: [PATCH] Add intelliJ linter and only run formatters when files are added that need to be formatted --- pre-commit | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/pre-commit b/pre-commit index acef69c..7801435 100755 --- a/pre-commit +++ b/pre-commit @@ -7,14 +7,32 @@ if hash black 2>/dev/null; then # Find all of the .py files in the current git repo, apply black formatting to them and then # add them again - git diff --cached --name-status | \ + cached_files=$(git diff --cached --name-status | \ grep -v '^D' | grep '\.py' | \ - sed 's/[A-Z][ \t]*//' | \ - xargs black 2>&1| \ - grep '^reformatted' | \ - sed 's/reformatted[ \t]//' | \ - xargs git add + sed 's/[A-Z][ \t]*//') + + # Only run if we have cached python files + if [ "$cached_files" ]; then + black --line-length 100 $cached_files + git add $cached_files + fi else - "Black isn't installed so not formatting python code" + echo "Black isn't installed so not formatting python code" fi + +# Only run if intellij is set up +if hash idea.sh 2>/dev/null; then + # Apply intellij + cached_files=$(git diff --cached --name-status | \ + grep -v '^D' | grep '\.java' | \ + sed 's/[A-Z][ \t]*//') + + + if [ "$cached_files" ]; then + idea.sh format -allowDefaults $cached_files 2>/dev/null + git add $cached_files + fi +else + echo "intellij isn't installed so not formatting java code" +fi