Files
would-reformat/would-reformat.sh
2023-09-30 18:14:47 -06:00

55 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
## This should be rarely if ever necessary, but here it is:
# source "$DIR/_wrflog.sh"
# wrflog before sourcing common funcs, I think i am in dir: $(pwd)
source "$DIR/_reformat-common.bash"
file="$1"
PROJECT_ROOT=$(project_root "$file")
export PROJECT_ROOT="$PROJECT_ROOT"
WF_ROOT=$(wf_root)
export WF_ROOT="$WF_ROOT"
## fixme use realpath or something on "$file"
file_type=$(sniff_file_type "$file")
export WOULD_REFORMAT=would_reformat
wrapper=$(choose_wrapper "$file_type")
set +e
out=$("$wrapper" "$file" 2>&1 >/dev/null)
retval="$?"
set -e
success_retval=0
would_reformat_retval=1
syntax_error_retval=2
if [[ "$retval" == "$success_retval" ]]; then
echo -n "would not change"
exit 0
elif [[ "$retval" == "$would_reformat_retval" ]]; then
echo -n "would change"
exit 1
elif [[ "$retval" == "$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