Files
would-reformat/do-reformat.sh
2023-09-20 07:38:42 -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=$("$(wfroot "$DIR")"/./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 [[ x"$retval" == x"$success_retval" ]]; then
echo "$out"
exit 0
else
exit $retval
fi
exit 0