autoenv.plugin.zsh 1.1 KB
Newer Older
LFDM's avatar
LFDM committed
1
# Activates autoenv or reports its failure
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
() {
if ! type autoenv_init >/dev/null; then
  for d (~/.autoenv /usr/local/opt/autoenv); do
    if [[ -e $d/activate.sh ]]; then
      autoenv_dir=$d
      break
    fi
  done
  if [[ -z $autoenv_dir ]]; then 
    cat <<END >&2
-------- AUTOENV ---------
Could not locate autoenv installation.
Please check if autoenv is correctly installed.
In the meantime the autoenv plugin is DISABLED.
--------------------------
END
    return 1
  fi
LFDM's avatar
LFDM committed
20
fi
21
22
}
[[ $? != 0 ]] && return $?
LFDM's avatar
LFDM committed
23

24
25
26
# The use_env call below is a reusable command to activate/create a new Python
# virtualenv, requiring only a single declarative line of code in your .env files.
# It only performs an action if the requested virtualenv is not the current one.
LFDM's avatar
LFDM committed
27

28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use_env() {
    typeset venv
    venv="$1"
    if [[ "${VIRTUAL_ENV:t}" != "$venv" ]]; then
        if workon | grep -q "$venv"; then
            workon "$venv"
        else
            echo -n "Create virtualenv $venv now? (Yn) "
            read answer
            if [[ "$answer" == "Y" ]]; then
                mkvirtualenv "$venv"
            fi
        fi
    fi
}