| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  | function global:deactivate ([switch]$NonDestructive) { | 
					
						
							|  |  |  |     # Revert to original values | 
					
						
							|  |  |  |     if (Test-Path function:_OLD_VIRTUAL_PROMPT) { | 
					
						
							|  |  |  |         copy-item function:_OLD_VIRTUAL_PROMPT function:prompt | 
					
						
							|  |  |  |         remove-item function:_OLD_VIRTUAL_PROMPT | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-05-26 03:45:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  |     if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) { | 
					
						
							|  |  |  |         copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME | 
					
						
							|  |  |  |         remove-item env:_OLD_VIRTUAL_PYTHONHOME | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-05-26 03:45:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  |     if (Test-Path env:_OLD_VIRTUAL_PATH) { | 
					
						
							|  |  |  |         copy-item env:_OLD_VIRTUAL_PATH env:PATH | 
					
						
							|  |  |  |         remove-item env:_OLD_VIRTUAL_PATH | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-05-26 03:45:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  |     if (Test-Path env:VIRTUAL_ENV) { | 
					
						
							|  |  |  |         remove-item env:VIRTUAL_ENV | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (!$NonDestructive) { | 
					
						
							|  |  |  |         # Self destruct! | 
					
						
							|  |  |  |         remove-item function:deactivate | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-05-26 03:45:29 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  | deactivate -nondestructive | 
					
						
							| 
									
										
										
										
											2017-02-02 19:33:43 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-19 11:03:55 +01:00
										 |  |  | $env:VIRTUAL_ENV="__VENV_DIR__" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-01-27 12:41:27 +00:00
										 |  |  | if (! $env:VIRTUAL_ENV_DISABLE_PROMPT) { | 
					
						
							|  |  |  |     # Set the prompt to include the env name | 
					
						
							|  |  |  |     # Make sure _OLD_VIRTUAL_PROMPT is global | 
					
						
							|  |  |  |     function global:_OLD_VIRTUAL_PROMPT {""} | 
					
						
							|  |  |  |     copy-item function:prompt function:_OLD_VIRTUAL_PROMPT | 
					
						
							|  |  |  |     function global:prompt { | 
					
						
							|  |  |  |         Write-Host -NoNewline -ForegroundColor Green '__VENV_PROMPT__' | 
					
						
							|  |  |  |         _OLD_VIRTUAL_PROMPT | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2012-05-26 03:45:29 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Clear PYTHONHOME | 
					
						
							|  |  |  | if (Test-Path env:PYTHONHOME) { | 
					
						
							|  |  |  |     copy-item env:PYTHONHOME env:_OLD_VIRTUAL_PYTHONHOME | 
					
						
							|  |  |  |     remove-item env:PYTHONHOME | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Add the venv to the PATH | 
					
						
							|  |  |  | copy-item env:PATH env:_OLD_VIRTUAL_PATH | 
					
						
							|  |  |  | $env:PATH = "$env:VIRTUAL_ENV\__VENV_BIN_NAME__;$env:PATH" |