-$env:VIRTUAL_ENV="__VENV_DIR__"\r
+function global:deactivate ([switch]$NonDestructive) {\r
+ # Revert to original values\r
+ if (Test-Path function:_OLD_VIRTUAL_PROMPT) {\r
+ copy-item function:_OLD_VIRTUAL_PROMPT function:prompt\r
+ remove-item function:_OLD_VIRTUAL_PROMPT\r
+ }\r
\r
-# Revert to original values\r
-if (Test-Path function:_OLD_VIRTUAL_PROMPT) {\r
- copy-item function:_OLD_VIRTUAL_PROMPT function:prompt\r
- remove-item function:_OLD_VIRTUAL_PROMPT\r
-}\r
+ if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) {\r
+ copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME\r
+ remove-item env:_OLD_VIRTUAL_PYTHONHOME\r
+ }\r
\r
-if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) {\r
- copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME\r
- remove-item env:_OLD_VIRTUAL_PYTHONHOME\r
-}\r
+ if (Test-Path env:_OLD_VIRTUAL_PATH) {\r
+ copy-item env:_OLD_VIRTUAL_PATH env:PATH\r
+ remove-item env:_OLD_VIRTUAL_PATH\r
+ }\r
\r
-if (Test-Path env:_OLD_VIRTUAL_PATH) {\r
- copy-item env:_OLD_VIRTUAL_PATH env:PATH\r
- remove-item env:_OLD_VIRTUAL_PATH\r
+ if (Test-Path env:VIRTUAL_ENV) {\r
+ remove-item env:VIRTUAL_ENV\r
+ }\r
+\r
+ if (!$NonDestructive) {\r
+ # Self destruct!\r
+ remove-item function:deactivate\r
+ }\r
}\r
\r
+deactivate -nondestructive\r
+
+$env:VIRTUAL_ENV="__VENV_DIR__"\r
+\r
# Set the prompt to include the env name\r
+# Make sure _OLD_VIRTUAL_PROMPT is global\r
+function global:_OLD_VIRTUAL_PROMPT {""}\r
copy-item function:prompt function:_OLD_VIRTUAL_PROMPT\r
-function prompt {\r
- Write-Host -NoNewline -ForegroundColor Green '[__VENV_NAME__]'\r
+function global:prompt {\r
+ Write-Host -NoNewline -ForegroundColor Green '__VENV_NAME__'\r
_OLD_VIRTUAL_PROMPT\r
}\r
\r
+++ /dev/null
-# Revert to original values\r
-if (Test-Path function:_OLD_VIRTUAL_PROMPT) {\r
- copy-item function:_OLD_VIRTUAL_PROMPT function:prompt\r
- remove-item function:_OLD_VIRTUAL_PROMPT\r
-}\r
-\r
-if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) {\r
- copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME\r
- remove-item env:_OLD_VIRTUAL_PYTHONHOME\r
-}\r
-\r
-if (Test-Path env:_OLD_VIRTUAL_PATH) {\r
- copy-item env:_OLD_VIRTUAL_PATH env:PATH\r
- remove-item env:_OLD_VIRTUAL_PATH\r
-}\r
-\r
-if (Test-Path env:VIRTUAL_ENV) {\r
- remove-item env:VIRTUAL_ENV\r
-}\r