OLD | NEW |
(Empty) | |
| 1 # This file must be used with "source bin/activate.fish" *from fish* (http://fis
hshell.com) |
| 2 # you cannot run it directly |
| 3 |
| 4 function deactivate -d "Exit virtualenv and return to normal shell environment" |
| 5 # reset old environment variables |
| 6 if test -n "$_OLD_VIRTUAL_PATH" |
| 7 set -gx PATH $_OLD_VIRTUAL_PATH |
| 8 set -e _OLD_VIRTUAL_PATH |
| 9 end |
| 10 if test -n "$_OLD_VIRTUAL_PYTHONHOME" |
| 11 set -gx PYTHONHOME $_OLD_VIRTUAL_PYTHONHOME |
| 12 set -e _OLD_VIRTUAL_PYTHONHOME |
| 13 end |
| 14 |
| 15 if test -n "$_OLD_FISH_PROMPT_OVERRIDE" |
| 16 # set an empty local fish_function_path, so fish_prompt doesn't automati
cally reload |
| 17 set -l fish_function_path |
| 18 # erase the virtualenv's fish_prompt function, and restore the original |
| 19 functions -e fish_prompt |
| 20 functions -c _old_fish_prompt fish_prompt |
| 21 functions -e _old_fish_prompt |
| 22 set -e _OLD_FISH_PROMPT_OVERRIDE |
| 23 end |
| 24 |
| 25 set -e VIRTUAL_ENV |
| 26 if test "$argv[1]" != "nondestructive" |
| 27 # Self destruct! |
| 28 functions -e deactivate |
| 29 end |
| 30 end |
| 31 |
| 32 # unset irrelevant variables |
| 33 deactivate nondestructive |
| 34 |
| 35 set -gx VIRTUAL_ENV "__VIRTUAL_ENV__" |
| 36 |
| 37 set -gx _OLD_VIRTUAL_PATH $PATH |
| 38 set -gx PATH "$VIRTUAL_ENV/__BIN_NAME__" $PATH |
| 39 |
| 40 # unset PYTHONHOME if set |
| 41 if set -q PYTHONHOME |
| 42 set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME |
| 43 set -e PYTHONHOME |
| 44 end |
| 45 |
| 46 if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" |
| 47 # fish uses a function instead of an env var to generate the prompt. |
| 48 |
| 49 # copy the current fish_prompt function as the function _old_fish_prompt |
| 50 functions -c fish_prompt _old_fish_prompt |
| 51 |
| 52 # with the original prompt function copied, we can override with our own. |
| 53 function fish_prompt |
| 54 # Prompt override? |
| 55 if test -n "__VIRTUAL_PROMPT__" |
| 56 printf "%s%s" "__VIRTUAL_PROMPT__" (set_color normal) |
| 57 _old_fish_prompt |
| 58 return |
| 59 end |
| 60 # ...Otherwise, prepend env |
| 61 set -l _checkbase (basename "$VIRTUAL_ENV") |
| 62 if test $_checkbase = "__" |
| 63 # special case for Aspen magic directories |
| 64 # see http://www.zetadev.com/software/aspen/ |
| 65 printf "%s[%s]%s " (set_color -b blue white) (basename (dirname "$VI
RTUAL_ENV")) (set_color normal) |
| 66 _old_fish_prompt |
| 67 else |
| 68 printf "%s(%s)%s" (set_color -b blue white) (basename "$VIRTUAL_ENV"
) (set_color normal) |
| 69 _old_fish_prompt |
| 70 end |
| 71 end |
| 72 |
| 73 set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" |
| 74 end |
OLD | NEW |