mirror of
https://github.com/python/cpython.git
synced 2025-12-31 04:23:37 +00:00
gh-89427: Provide the original prompt value for VIRTUAL_ENV_PROMPT (GH-106726)
This improves the implementation in gh-106643. Previously, venv passed "(<prompt>) " to the activation scripts, but we want to provide the original value so that users can inspect it in the $VIRTUAL_ENV_PROMPT env var. Note: Lib/venv/scripts/common/Activate.ps1 surrounded the prompt value with parens a second time, so no change was necessary in that file.
This commit is contained in:
parent
b822b85ac1
commit
8edc8029de
6 changed files with 9 additions and 10 deletions
|
|
@ -169,7 +169,7 @@ def test_config_file_command_key(self):
|
|||
('--clear', 'clear', True),
|
||||
('--upgrade', 'upgrade', True),
|
||||
('--upgrade-deps', 'upgrade_deps', True),
|
||||
('--prompt', 'prompt', True),
|
||||
('--prompt="foobar"', 'prompt', 'foobar'),
|
||||
('--without-scm-ignore-files', 'scm_ignore_files', frozenset()),
|
||||
]
|
||||
for opt, attr, value in options:
|
||||
|
|
@ -201,7 +201,7 @@ def test_prompt(self):
|
|||
self.run_with_capture(builder.create, self.env_dir)
|
||||
context = builder.ensure_directories(self.env_dir)
|
||||
data = self.get_text_file_contents('pyvenv.cfg')
|
||||
self.assertEqual(context.prompt, '(%s) ' % env_name)
|
||||
self.assertEqual(context.prompt, env_name)
|
||||
self.assertNotIn("prompt = ", data)
|
||||
|
||||
rmtree(self.env_dir)
|
||||
|
|
@ -209,7 +209,7 @@ def test_prompt(self):
|
|||
self.run_with_capture(builder.create, self.env_dir)
|
||||
context = builder.ensure_directories(self.env_dir)
|
||||
data = self.get_text_file_contents('pyvenv.cfg')
|
||||
self.assertEqual(context.prompt, '(My prompt) ')
|
||||
self.assertEqual(context.prompt, 'My prompt')
|
||||
self.assertIn("prompt = 'My prompt'\n", data)
|
||||
|
||||
rmtree(self.env_dir)
|
||||
|
|
@ -218,7 +218,7 @@ def test_prompt(self):
|
|||
self.run_with_capture(builder.create, self.env_dir)
|
||||
context = builder.ensure_directories(self.env_dir)
|
||||
data = self.get_text_file_contents('pyvenv.cfg')
|
||||
self.assertEqual(context.prompt, '(%s) ' % cwd)
|
||||
self.assertEqual(context.prompt, cwd)
|
||||
self.assertIn("prompt = '%s'\n" % cwd, data)
|
||||
|
||||
def test_upgrade_dependencies(self):
|
||||
|
|
|
|||
|
|
@ -129,8 +129,7 @@ def create_if_needed(d):
|
|||
context = types.SimpleNamespace()
|
||||
context.env_dir = env_dir
|
||||
context.env_name = os.path.split(env_dir)[1]
|
||||
prompt = self.prompt if self.prompt is not None else context.env_name
|
||||
context.prompt = '(%s) ' % prompt
|
||||
context.prompt = self.prompt if self.prompt is not None else context.env_name
|
||||
create_if_needed(env_dir)
|
||||
executable = sys._base_executable
|
||||
if not executable: # see gh-96861
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ fi
|
|||
|
||||
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||
PS1="__VENV_PROMPT__${PS1:-}"
|
||||
PS1="(__VENV_PROMPT__) ${PS1:-}"
|
||||
export PS1
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ if defined _OLD_VIRTUAL_PROMPT set PROMPT=%_OLD_VIRTUAL_PROMPT%
|
|||
if defined _OLD_VIRTUAL_PYTHONHOME set PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%
|
||||
|
||||
set _OLD_VIRTUAL_PROMPT=%PROMPT%
|
||||
set PROMPT=__VENV_PROMPT__%PROMPT%
|
||||
set PROMPT=(__VENV_PROMPT__) %PROMPT%
|
||||
|
||||
if defined PYTHONHOME set _OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%
|
||||
set PYTHONHOME=
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ setenv VIRTUAL_ENV_PROMPT "__VENV_PROMPT__"
|
|||
set _OLD_VIRTUAL_PROMPT="$prompt"
|
||||
|
||||
if (! "$?VIRTUAL_ENV_DISABLE_PROMPT") then
|
||||
set prompt = "__VENV_PROMPT__$prompt"
|
||||
set prompt = "(__VENV_PROMPT__) $prompt"
|
||||
endif
|
||||
|
||||
alias pydoc python -m pydoc
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ if test -z "$VIRTUAL_ENV_DISABLE_PROMPT"
|
|||
set -l old_status $status
|
||||
|
||||
# Output the venv prompt; color taken from the blue of the Python logo.
|
||||
printf "%s%s%s" (set_color 4B8BBE) "__VENV_PROMPT__" (set_color normal)
|
||||
printf "%s(%s)%s " (set_color 4B8BBE) "__VENV_PROMPT__" (set_color normal)
|
||||
|
||||
# Restore the return status of the previous command.
|
||||
echo "exit $old_status" | .
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue