Extract isort and black
This commit is contained in:
43
isort-and-black.sh
Executable file
43
isort-and-black.sh
Executable file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -uo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
source "$DIR/_reformat-common.bash"
|
||||||
|
|
||||||
|
file="$1"
|
||||||
|
|
||||||
|
if [[ x"$WOULD_REFORMAT" = x"would_reformat" ]] ; then
|
||||||
|
out1=$(pipx run isort $file 2>/dev/null)
|
||||||
|
c1="$?"
|
||||||
|
|
||||||
|
if [[ x"$c1" != x"0" ]] ; then
|
||||||
|
# would reorder imports
|
||||||
|
if [[ x"$c1" = x"1" ]] ; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
# syntax error; 123 is normalized to 2
|
||||||
|
if [[ x"$c1" = x"123" ]] ; then
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
# some other problem that we don't know how to handle
|
||||||
|
exit 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
out2=$(pipx run black --check $file 2>/dev/null)
|
||||||
|
c2="$?"
|
||||||
|
|
||||||
|
exit "$c2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ x"$WOULD_REFORMAT" = x"do_reformat" ]] ; then
|
||||||
|
out1=$(pipx run black $1 2>/dev/null && pipx run isort $file 2>/dev/null)
|
||||||
|
c="$?"
|
||||||
|
|
||||||
|
exit "$c"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 255
|
||||||
|
|
||||||
@@ -19,6 +19,8 @@ file_type=$(sniff_file_type $file)
|
|||||||
|
|
||||||
wrflog got file_type $file_type
|
wrflog got file_type $file_type
|
||||||
|
|
||||||
|
WOULD_REFORMAT=would_reformat
|
||||||
|
|
||||||
if [[ $file_type = "javascript" || \
|
if [[ $file_type = "javascript" || \
|
||||||
$file_type = "vue" || \
|
$file_type = "vue" || \
|
||||||
$file_type = "typescript" || \
|
$file_type = "typescript" || \
|
||||||
@@ -39,20 +41,11 @@ wrflog "prettier: $(ls -l $(wfroot $DIR)/./prettier.sh)"
|
|||||||
would_reformat_retval=1
|
would_reformat_retval=1
|
||||||
syntax_error_retval=2
|
syntax_error_retval=2
|
||||||
elif [[ $file_type == "python" ]]; then
|
elif [[ $file_type == "python" ]]; then
|
||||||
|
out=$($(wfroot $DIR)/./isort-and-black.sh $file 2>&1 > /dev/null)
|
||||||
out=$(pipx run isort --check $file 2>/dev/null)
|
retval="$?"
|
||||||
isort_retval="$?"
|
|
||||||
|
|
||||||
success_retval=0
|
success_retval=0
|
||||||
would_reformat_retval=1
|
would_reformat_retval=1
|
||||||
syntax_error_retval=123
|
syntax_error_retval=2
|
||||||
|
|
||||||
if [[ x"$isort_retval" = x"0" ]] ; then
|
|
||||||
out=$(pipx run black --check $file 2>/dev/null)
|
|
||||||
retval="$?"
|
|
||||||
else
|
|
||||||
retval="$isort_retval"
|
|
||||||
fi
|
|
||||||
elif [[ $file_type == "golang" ]] ; then
|
elif [[ $file_type == "golang" ]] ; then
|
||||||
success_retval=0
|
success_retval=0
|
||||||
would_reformat_retval=1
|
would_reformat_retval=1
|
||||||
|
|||||||
Reference in New Issue
Block a user