codekingpro/portable-devtools
114k
1$script:THIS_PATH = $myinvocation.mycommand.path2$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent3 4function global:deactivate([switch] $NonDestructive) {5 if (Test-Path variable:_OLD_VIRTUAL_PATH) {6 $env:PATH = $variable:_OLD_VIRTUAL_PATH7 Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global8 }9 10 if (Test-Path function:_old_virtual_prompt) {11 $function:prompt = $function:_old_virtual_prompt12 Remove-Item function:\_old_virtual_prompt13 }14 15 if ($env:VIRTUAL_ENV) {16 Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue17 }18 19 if ($env:VIRTUAL_ENV_PROMPT) {20 Remove-Item env:VIRTUAL_ENV_PROMPT -ErrorAction SilentlyContinue21 }22 23 if (!$NonDestructive) {24 # Self destruct!25 Remove-Item function:deactivate26 Remove-Item function:pydoc27 }28}29 30function global:pydoc {31 python -m pydoc $args32}33 34# unset irrelevant variables35deactivate -nondestructive36 37$VIRTUAL_ENV = $BASE_DIR38$env:VIRTUAL_ENV = $VIRTUAL_ENV39 40if ("__VIRTUAL_PROMPT__" -ne "") {41 $env:VIRTUAL_ENV_PROMPT = "__VIRTUAL_PROMPT__"42}43else {44 $env:VIRTUAL_ENV_PROMPT = $( Split-Path $env:VIRTUAL_ENV -Leaf )45}46 47New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH48 49$env:PATH = "$env:VIRTUAL_ENV/__BIN_NAME____PATH_SEP__" + $env:PATH50if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) {51 function global:_old_virtual_prompt {52 ""53 }54 $function:_old_virtual_prompt = $function:prompt55 56 function global:prompt {57 # Add the custom prefix to the existing prompt58 $previous_prompt_value = & $function:_old_virtual_prompt59 ("(" + $env:VIRTUAL_ENV_PROMPT + ") " + $previous_prompt_value)60 }61}62 