#!/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