Files
would-reformat/would-reformat.sh
2020-07-05 16:24:18 -05:00

60 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -uo pipefail
IFS=$'\n\t'
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
file="$1"
source "$DIR/_reformat-common.sh"
file_type=$(sniff_file_type $file)
if [[ $file_type == "javascript" || \
$file_type == "vue" || \
$file_type == "typescript" || \
$file_type == "css" || \
$file_type == "php" || \
$file_type == "html" || \
$file_type == "jsx" || \
$file_type == "tsx" || \
$file_type == "css" || \
$file_type == "scss" ]] ; then
out=$(npx prettier --check $file 2>&1 > /dev/null)
retval="$?"
success_retval=0
would_reformat_retval=1
syntax_error_retval=2
elif [[ $file_type == "python" ]] ; then
out=$(pipx run black --check $file 2>/dev/null)
retval="$?"
success_retval=0
would_reformat_retval=1
syntax_error_retval=123
else
echo -n "ignoring"
exit 0
fi
if [[ x"$retval" == x"$success_retval" ]] ; then
echo -n "would not change"
exit 0
elif [[ x"$retval" == x"$would_reformat_retval" ]] ; then
echo -n "would change"
exit 1
elif [[ x"$retval" == x"$syntax_error_retval" ]] ; then
echo -n "syntax error"
echo
echo "$out"
exit 2
else
echo -n "problem running reformatter"
exit 3
fi
echo -n "ok"
exit 0