|
$script:THIS_PATH = $myinvocation.mycommand.path |
|
$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent |
|
|
|
function global:deactivate([switch] $NonDestructive) { |
|
if (Test-Path variable:_OLD_VIRTUAL_PATH) { |
|
$env:PATH = $variable:_OLD_VIRTUAL_PATH |
|
Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global |
|
} |
|
|
|
if (Test-Path function:_old_virtual_prompt) { |
|
$function:prompt = $function:_old_virtual_prompt |
|
Remove-Item function:\_old_virtual_prompt |
|
} |
|
|
|
if ($env:VIRTUAL_ENV) { |
|
Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue |
|
} |
|
|
|
if ($env:VIRTUAL_ENV_PROMPT) { |
|
Remove-Item env:VIRTUAL_ENV_PROMPT -ErrorAction SilentlyContinue |
|
} |
|
|
|
if (!$NonDestructive) { |
|
|
|
Remove-Item function:deactivate |
|
Remove-Item function:pydoc |
|
} |
|
} |
|
|
|
function global:pydoc { |
|
python -m pydoc $args |
|
} |
|
|
|
|
|
deactivate -nondestructive |
|
|
|
$VIRTUAL_ENV = $BASE_DIR |
|
$env:VIRTUAL_ENV = $VIRTUAL_ENV |
|
|
|
if ("" -ne "") { |
|
$env:VIRTUAL_ENV_PROMPT = "" |
|
} |
|
else { |
|
$env:VIRTUAL_ENV_PROMPT = $( Split-Path $env:VIRTUAL_ENV -Leaf ) |
|
} |
|
|
|
New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH |
|
|
|
$env:PATH = "$env:VIRTUAL_ENV/Scripts;" + $env:PATH |
|
if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) { |
|
function global:_old_virtual_prompt { |
|
"" |
|
} |
|
$function:_old_virtual_prompt = $function:prompt |
|
|
|
function global:prompt { |
|
|
|
$previous_prompt_value = & $function:_old_virtual_prompt |
|
("(" + $env:VIRTUAL_ENV_PROMPT + ") " + $previous_prompt_value) |
|
} |
|
} |
|
|