From: David Kerkeslager Date: Tue, 4 Jun 2019 17:14:17 +0000 (-0400) Subject: Add support for virtualenvs in .venv X-Git-Url: https://code.kerkeslager.com/?p=dotfiles;a=commitdiff_plain;h=36dddc0eb9737760334cebf205ec5c3c3ae82b06 Add support for virtualenvs in .venv --- diff --git a/.bashrc b/.bashrc index 399963c..a783a60 100644 --- a/.bashrc +++ b/.bashrc @@ -84,15 +84,19 @@ if [ $TERM != screen ]; then screen fi -# Gets a directory named .env if it exists in the currend directory or any of its parents +# Gets a directory named .env or .venv if it exists in the currend directory or any of its parents get_env() { - if [ -d "$1/.env" ] ; then - echo "$1/.env" + if [ -d "$1/.env" ] ; then + echo "$1/.env" + else + if [ -d "$1/.venv" ] ; then + echo "$1/.venv" else - if [ -d "$1/.." ] ; then - get_env "$1/.." - fi + if [ -d "$1/.." ] ; then + get_env "$1/.." + fi fi + fi } get_absolute_path() { @@ -100,19 +104,19 @@ get_absolute_path() { } on_prompt() { - # Load a virtualenv environment if it exists in a file named .env - env_folder=$(get_env $(pwd)) - - if [ -d "$env_folder" ] ; then - if [[ $VIRTUAL_ENV != $(get_absolute_path $env_folder) ]] ; then - echo "Activating env '$env_folder'" - source "$env_folder/bin/activate" - fi - else - if [ -d "$VIRTUAL_ENV" ] ; then - deactivate - fi + # Load a virtualenv environment if it exists in a file named .env + env_folder=$(get_env $(pwd)) + + if [ -d "$env_folder" ] ; then + if [[ $VIRTUAL_ENV != $(get_absolute_path $env_folder) ]] ; then + echo "Activating env '$env_folder'" + source "$env_folder/bin/activate" + fi + else + if [ -d "$VIRTUAL_ENV" ] ; then + deactivate fi + fi } # Set vi keybindings