summaryrefslogtreecommitdiffstats
path: root/misc/scripts/dotnet_format.sh
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-04-05 13:51:38 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-04-05 18:31:46 +0200
commit266280ffca218ae1c86e6d83d9b67a16086148b8 (patch)
tree40ac8b2889c74b9129bc62ecdba74cb6f5a5c68b /misc/scripts/dotnet_format.sh
parent44d539465acca7592e0c88748e231fe5f151da37 (diff)
downloadredot-engine-266280ffca218ae1c86e6d83d9b67a16086148b8.tar.gz
CI: Visibly print trailing whitespace when static checks fail
GitHub Actions seems to be hiding colored whitespace, and after lots of attempts I couldn't find a way to work it around. So instead I'm using a perl expression to replace trailing spaces with `·` and tabs with `<TAB>` in the ANSI colored diff output. This ensure that they're visible, and they are properly colored as expected too.
Diffstat (limited to 'misc/scripts/dotnet_format.sh')
-rwxr-xr-xmisc/scripts/dotnet_format.sh10
1 files changed, 6 insertions, 4 deletions
diff --git a/misc/scripts/dotnet_format.sh b/misc/scripts/dotnet_format.sh
index cc34137a37..cac00f5cb1 100755
--- a/misc/scripts/dotnet_format.sh
+++ b/misc/scripts/dotnet_format.sh
@@ -24,12 +24,14 @@ diff=$(git diff --color)
# If no diff has been generated all is OK, clean up, and exit.
if [ -z "$diff" ] ; then
- printf "Files in this commit comply with the dotnet format style rules.\n"
+ printf "\e[1;32m*** Files in this commit comply with the dotnet format style rules.\e[0m\n"
exit 0
fi
# A diff has been created, notify the user, clean up, and exit.
-printf "\n*** The following changes have been made to comply with the formatting rules:\n\n"
-echo "$diff"
-printf "\n*** Please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n"
+printf "\n\e[1;33m*** The following changes must be made to comply with the formatting rules:\e[0m\n\n"
+# Perl commands replace trailing spaces with `·` and tabs with `<TAB>`.
+printf "$diff\n" | perl -pe 's/(.*[^ ])( +)(\e\[m)$/my $spaces="·" x length($2); sprintf("$1$spaces$3")/ge' | perl -pe 's/(.*[^\t])(\t+)(\e\[m)$/my $tabs="<TAB>" x length($2); sprintf("$1$tabs$3")/ge'
+
+printf "\n\e[1;91m*** Please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\e[0m\n"
exit 1