#!/usr/bin/env bash

echo "用法一, 校验 git changes not staged文件: ./script/lint"
echo "用法一, 校验 指定文件: ./script/lint app"

declare -a filteredFiles

if [ $# -eq 0 ]; then
    files=`git diff --diff-filter=d --name-only | grep -E '^app.*$'`
    if [ -z "${files}" ]; then
        echo "no files changed to format..."
        exit 0
    fi

    for file in "${files[@]}"
    do
        if [[ $file =~ \.py$ ]]; then
            filteredFiles+=($file)
        fi
    done
else
    filteredFiles=$@
fi

set -e
set -x

if [ -z "${filteredFiles}" ]; then
    echo "no files changed to lint..."
    exit
else
    mypy ${filteredFiles[@]}
    isort --check-only ${filteredFiles[@]}
fi
