From ffc1f175c28acf6af8fc3976abbc83b746c7555b Mon Sep 17 00:00:00 2001 From: Alex Jurkiewicz Date: Thu, 12 Oct 2023 11:27:57 +0800 Subject: [PATCH] Document some logic in prompt_virtualenv() --- internal/p10k.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index d105665e..7dbb01b0 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4285,11 +4285,19 @@ prompt_virtualenv() { if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then msg="${_p9k__ret//\%/%%} " fi - local v=${VIRTUAL_ENV:t} + # Determine virtualenv name + # VIRTUAL_ENV* are set inside virtualenvs. VIRTUAL_ENV is the virtualenv's + # on-disk path, VIRTUAL_ENV_PROMPT is `(name_of_virtualenv) `. + local v + # Use custom name if it was set (python -m venv -p "foo" .venv) if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then v=$VIRTUAL_ENV_PROMPT[2,-3] + # Use parent directory name if virtualenv name is generic (eg .venv) elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then v=${VIRTUAL_ENV:h:t} + # Otherwise use the virtualenv name as-is + else + v=${VIRTUAL_ENV:t} fi msg+="$_POWERLEVEL9K_VIRTUALENV_LEFT_DELIMITER${v//\%/%%}$_POWERLEVEL9K_VIRTUALENV_RIGHT_DELIMITER" case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV in