Skip to content

Instantly share code, notes, and snippets.

@BGBRWR
Forked from gibatronic/workit.bash
Last active February 10, 2019 06:58
Show Gist options
  • Save BGBRWR/82e66547d7013f3ae687eb792b6b7e20 to your computer and use it in GitHub Desktop.
Save BGBRWR/82e66547d7013f3ae687eb792b6b7e20 to your computer and use it in GitHub Desktop.
Automatically run workon when entering a directory
function check_for_virtual_env {
[ -d .git ] || git rev-parse --git-dir &> /dev/null
if [ $? -eq 0 ]; then
local ENV_NAME=`basename \`pwd\``
if [ "${VIRTUAL_ENV##*/}" != $ENV_NAME ] && [ -e $WORKON_HOME/$ENV_NAME/bin/activate ]; then
workon $ENV_NAME && export CD_VIRTUAL_ENV=$ENV_NAME
fi
elif [ $CD_VIRTUAL_ENV ]; then
deactivate && unset CD_VIRTUAL_ENV
fi
}
function cd {
builtin cd "$@" && check_for_virtual_env
}
check_for_virtual_env
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment