Files
would-reformat/do-reformat.sh
2023-09-30 17:30:07 -06:00

55 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -uo pipefail
IFS=$'\n\t'
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$DIR/_reformat-common.bash"
file="$1"
file_type=$(sniff_file_type "$file")
export WOULD_REFORMAT=do_reformat
if [[ $file_type == "javascript" ||
$file_type == "vue" ||
$file_type == "css" ||
$file_type == "typescript" ||
$file_type == "php" ||
$file_type == "html" ||
$file_type == "jsx" ||
$file_type == "tsx" ||
$file_type == "css" ||
$file_type == "scss" ||
$file_type == "sh" ]]; then
out=$("$(wf_root)"/./prettier.sh "$file")
retval="$?"
success_retval=0
elif [[ $file_type == "python" ]]; then
out=$(pipx run black "$file" 2>/dev/null && pipx run isort "$file" 2>/dev/null)
retval="$?"
success_retval=0
elif [[ $file_type == "golang" ]]; then
out=$(gofmt -w "$file" 2>/dev/null)
retval="$?"
success_retval=0
elif [[ $file_type == "dart" ]]; then
out=$(dart format "$file")
retval="$?"
success_retval=0
else
echo -n "ignoring"
exit 0
fi
if [[ "$retval" == "$success_retval" ]]; then
echo "$out"
exit 0
else
exit $retval
fi
exit 0