# 当进入符合条件的目录时,系统会自动检测并激活 local 虚拟环境,如已经激活则不会重复操作。
# 当进入其他目录时,自动deactivate local env,即只在根目录下执行操作。
# 需要手动创建local env: python3 -m venv local
function cd() {
    builtin cd "$@"  # 执行默认的 cd 操作

    if [ -f "requirements.txt" ]; then  # 检查是否有 requirements.txt 文件
        if [[ -z "$VIRTUAL_ENV" || "$(realpath "$VIRTUAL_ENV")" != "$(realpath "$(pwd)/local")" ]]; then
            source local/bin/activate  # 激活虚拟环境
            if [ ! -d "local" ]; then  # 如果 local 文件夹不存在
                echo "Installing dependencies with pip3 install ."
                pip3 install .  # 安装依赖
            fi
        fi
    else
        if [[ -n "$VIRTUAL_ENV" ]]; then
            deactivate
        fi
    fi
}