From dff9e2535f5bf73f1491edc45928eef51a701074 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Wed, 2 Oct 2013 11:36:16 +0100 Subject: [PATCH] Closes #19139: Changed usage of __VENV_NAME__ and added __VENV_PROMPT__. --- Doc/library/venv.rst | 3 +++ Lib/venv/__init__.py | 3 ++- Lib/venv/scripts/nt/Activate.ps1 | 2 +- Lib/venv/scripts/nt/activate.bat | 2 +- Lib/venv/scripts/posix/activate | 4 ++-- Lib/venv/scripts/posix/activate.fish | 4 ++-- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Doc/library/venv.rst b/Doc/library/venv.rst index 2fb5cdae048..eda0cb6bf30 100644 --- a/Doc/library/venv.rst +++ b/Doc/library/venv.rst @@ -187,6 +187,9 @@ creation according to their needs, the :class:`EnvBuilder` class. * ``__VENV_NAME__`` is replaced with the environment name (final path segment of environment directory). + * ``__VENV_PROMPT__`` is replaced with the prompt (the environment + name surrounded by parentheses and with a following space) + * ``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either ``bin`` or ``Scripts``). diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py index 1688bc4ab74..f184328e144 100644 --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -261,7 +261,8 @@ class EnvBuilder: being processed. """ text = text.replace('__VENV_DIR__', context.env_dir) - text = text.replace('__VENV_NAME__', context.prompt) + text = text.replace('__VENV_NAME__', context.env_name) + text = text.replace('__VENV_PROMPT__', context.prompt) text = text.replace('__VENV_BIN_NAME__', context.bin_name) text = text.replace('__VENV_PYTHON__', context.env_exe) return text diff --git a/Lib/venv/scripts/nt/Activate.ps1 b/Lib/venv/scripts/nt/Activate.ps1 index df789633ce4..b15decb9c58 100644 --- a/Lib/venv/scripts/nt/Activate.ps1 +++ b/Lib/venv/scripts/nt/Activate.ps1 @@ -34,7 +34,7 @@ $env:VIRTUAL_ENV="__VENV_DIR__" function global:_OLD_VIRTUAL_PROMPT {""} copy-item function:prompt function:_OLD_VIRTUAL_PROMPT function global:prompt { - Write-Host -NoNewline -ForegroundColor Green '__VENV_NAME__' + Write-Host -NoNewline -ForegroundColor Green '__VENV_PROMPT__' _OLD_VIRTUAL_PROMPT } diff --git a/Lib/venv/scripts/nt/activate.bat b/Lib/venv/scripts/nt/activate.bat index 3cebe263818..9eab147f314 100644 --- a/Lib/venv/scripts/nt/activate.bat +++ b/Lib/venv/scripts/nt/activate.bat @@ -14,7 +14,7 @@ if defined _OLD_VIRTUAL_PYTHONHOME ( ) set "_OLD_VIRTUAL_PROMPT=%PROMPT%" -set "PROMPT=__VENV_NAME__%PROMPT%" +set "PROMPT=__VENV_PROMPT__%PROMPT%" if defined PYTHONHOME ( set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%" diff --git a/Lib/venv/scripts/posix/activate b/Lib/venv/scripts/posix/activate index c241450c0b0..7bbffd9ba69 100644 --- a/Lib/venv/scripts/posix/activate +++ b/Lib/venv/scripts/posix/activate @@ -54,8 +54,8 @@ fi if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then _OLD_VIRTUAL_PS1="$PS1" - if [ "x__VENV_NAME__" != x ] ; then - PS1="__VENV_NAME__$PS1" + if [ "x__VENV_PROMPT__" != x ] ; then + PS1="__VENV_PROMPT__$PS1" else if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then # special case for Aspen magic directories diff --git a/Lib/venv/scripts/posix/activate.fish b/Lib/venv/scripts/posix/activate.fish index 5ac1638d29e..45391aa01c9 100644 --- a/Lib/venv/scripts/posix/activate.fish +++ b/Lib/venv/scripts/posix/activate.fish @@ -55,8 +55,8 @@ if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" # with the original prompt function renamed, we can override with our own. function fish_prompt # Prompt override? - if test -n "__VENV_NAME__" - printf "%s%s%s" "__VENV_NAME__" (set_color normal) (_old_fish_prompt) + if test -n "__VENV_PROMPT__" + printf "%s%s%s" "__VENV_PROMPT__" (set_color normal) (_old_fish_prompt) return end # ...Otherwise, prepend env