123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- $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 (!$NonDestructive) {
- # Self destruct!
- Remove-Item function:deactivate
- Remove-Item function:pydoc
- }
- }
- function global:pydoc {
- python -m pydoc $args
- }
- # unset irrelevant variables
- deactivate -nondestructive
- $VIRTUAL_ENV = $BASE_DIR
- $env:VIRTUAL_ENV = $VIRTUAL_ENV
- 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
- if ("" -ne "") {
- function global:prompt {
- # Add the custom prefix to the existing prompt
- $previous_prompt_value = & $function:_old_virtual_prompt
- ("() " + $previous_prompt_value)
- }
- }
- else {
- function global:prompt {
- # Add a prefix to the current prompt, but don't discard it.
- $previous_prompt_value = & $function:_old_virtual_prompt
- $new_prompt_value = "($( Split-Path $env:VIRTUAL_ENV -Leaf )) "
- ($new_prompt_value + $previous_prompt_value)
- }
- }
- }
|