From 1148a111779ce6ac8a49f58b85afa887ade67f82 Mon Sep 17 00:00:00 2001 From: Mark Jan van Kampen Date: Fri, 18 Dec 2020 11:14:02 +0100 Subject: [PATCH 1/2] Makes ps1 output prompt specific for build/run/normal --- conans/client/envvars/environment.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/conans/client/envvars/environment.py b/conans/client/envvars/environment.py index a848021d4a4..ec9f73bba32 100644 --- a/conans/client/envvars/environment.py +++ b/conans/client/envvars/environment.py @@ -70,7 +70,7 @@ ps1_activate = textwrap.dedent("""\ {%- for it in modified_vars %} - $env:CONAN_OLD_{{it}}=$env:{{it}} + $env:CONAN_OLD_{{venv_name}}_{{it}}=$env:{{it}} {%- endfor %} foreach ($line in Get-Content "{{ environment_file }}") { @@ -79,20 +79,20 @@ Set-Item env:\\$var -Value "$value_expanded" } - function global:_old_conan_prompt {""} - $function:_old_conan_prompt = $function:prompt + function global:_old_conan_{{venv_name}}_prompt {""} + $function:_old_conan_{{venv_name}}_prompt = $function:prompt function global:prompt { - write-host "({{venv_name}}) " -nonewline; & $function:_old_conan_prompt + write-host "({{venv_name}}) " -nonewline; & $function:_old_conan_{{venv_name}}_prompt } """) ps1_deactivate = textwrap.dedent("""\ - $function:prompt = $function:_old_conan_prompt - remove-item function:_old_conan_prompt + $function:prompt = $function:_old_conan_{{venv_name}}_prompt + remove-item function:_old_conan_{{venv_name}}_prompt {% for it in modified_vars %} - $env:{{it}}=$env:CONAN_OLD_{{it}} - Remove-Item env:CONAN_OLD_{{it}} + $env:{{it}}=$env:CONAN_OLD_{{venv_name}}_{{it}} + Remove-Item env:CONAN_OLD_{{venv_name}}_{{it}} {%- endfor %} {%- for it in new_vars %} Remove-Item env:{{it}} From 7a6e4b2bc0645330044944a410f09016c11d5582 Mon Sep 17 00:00:00 2001 From: Mark Jan van Kampen Date: Fri, 18 Dec 2020 11:26:48 +0100 Subject: [PATCH 2/2] Fixes missing venv_name in deactivate --- conans/client/envvars/environment.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conans/client/envvars/environment.py b/conans/client/envvars/environment.py index ec9f73bba32..84f68f906a9 100644 --- a/conans/client/envvars/environment.py +++ b/conans/client/envvars/environment.py @@ -174,7 +174,8 @@ def _files(env_vars, vars_with_spaces, flavor, activate_tpl, deactivate_tpl, ven activate_content = activate_tpl.render(environment_file=env_filepath, modified_vars=modified_vars, new_vars=new_vars, venv_name=venv_name) - deactivate_content = deactivate_tpl.render(modified_vars=modified_vars, new_vars=new_vars) + deactivate_content = deactivate_tpl.render(modified_vars=modified_vars, new_vars=new_vars, + venv_name=venv_name) environment_lines = ["{}={}".format(name, value) for name, value, _ in ret] # This blank line is important, otherwise the script doens't process last line