mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-29 06:40:08 +00:00
when resolving python --version
, handle pyenv shims specially (#1378)
This commit is contained in:
parent
9c034101fe
commit
0ab7e1ccfd
1 changed files with 29 additions and 10 deletions
|
@ -1082,8 +1082,24 @@ function _p9k_prompt_segment() { "_p9k_${_p9k__prompt_side}_prompt_segment" "$@"
|
||||||
function p9k_prompt_segment() { p10k segment "$@" }
|
function p9k_prompt_segment() { p10k segment "$@" }
|
||||||
|
|
||||||
function _p9k_python_version() {
|
function _p9k_python_version() {
|
||||||
_p9k_cached_cmd 1 python --version || return
|
case $commands[python] in
|
||||||
[[ $_p9k__ret == (#b)Python\ ([[:digit:].]##)* ]] && _p9k__ret=$match[1]
|
"")
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
${PYENV_ROOT:-~/.pyenv}/shims/python)
|
||||||
|
local P9K_PYENV_PYTHON_VERSION _p9k__pyenv_version
|
||||||
|
local -i _POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=1 _POWERLEVEL9K_PYENV_SHOW_SYSTEM=1
|
||||||
|
local _POWERLEVEL9K_PYENV_SOURCES=(shell local global)
|
||||||
|
if _p9k_pyenv_compute && [[ $P9K_PYENV_PYTHON_VERSION == ([[:digit:].]##)* ]]; then
|
||||||
|
_p9k__ret=$P9K_PYENV_PYTHON_VERSION
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
;& # fall through
|
||||||
|
*)
|
||||||
|
_p9k_cached_cmd 1 python --version || return
|
||||||
|
[[ $_p9k__ret == (#b)Python\ ([[:digit:].]##)* ]] && _p9k__ret=$match[1]
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
@ -4149,10 +4165,7 @@ function _p9k_pyenv_global_version() {
|
||||||
_p9k_read_pyenv_like_version_file ${PYENV_ROOT:-$HOME/.pyenv}/version python- || _p9k__ret=system
|
_p9k_read_pyenv_like_version_file ${PYENV_ROOT:-$HOME/.pyenv}/version python- || _p9k__ret=system
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
function _p9k_pyenv_compute() {
|
||||||
# Segment to display pyenv information
|
|
||||||
# https://github.com/pyenv/pyenv#choosing-the-python-version
|
|
||||||
prompt_pyenv() {
|
|
||||||
unset P9K_PYENV_PYTHON_VERSION _p9k__pyenv_version
|
unset P9K_PYENV_PYTHON_VERSION _p9k__pyenv_version
|
||||||
|
|
||||||
local v=${(j.:.)${(@)${(s.:.)PYENV_VERSION}#python-}}
|
local v=${(j.:.)${(@)${(s.:.)PYENV_VERSION}#python-}}
|
||||||
|
@ -4194,11 +4207,11 @@ prompt_pyenv() {
|
||||||
|
|
||||||
if (( !_POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW )); then
|
if (( !_POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW )); then
|
||||||
_p9k_pyenv_global_version
|
_p9k_pyenv_global_version
|
||||||
[[ $v == $_p9k__ret ]] && return
|
[[ $v == $_p9k__ret ]] && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( !_POWERLEVEL9K_PYENV_SHOW_SYSTEM )); then
|
if (( !_POWERLEVEL9K_PYENV_SHOW_SYSTEM )); then
|
||||||
[[ $v == system ]] && return
|
[[ $v == system ]] && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local versions=${PYENV_ROOT:-$HOME/.pyenv}/versions
|
local versions=${PYENV_ROOT:-$HOME/.pyenv}/versions
|
||||||
|
@ -4210,8 +4223,14 @@ prompt_pyenv() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
typeset -g _p9k__pyenv_version=$v
|
typeset -g _p9k__pyenv_version=$v
|
||||||
|
}
|
||||||
|
|
||||||
_p9k_prompt_segment "$0" "blue" "$_p9k_color1" 'PYTHON_ICON' 0 '' "${v//\%/%%}"
|
################################################################
|
||||||
|
# Segment to display pyenv information
|
||||||
|
# https://github.com/pyenv/pyenv#choosing-the-python-version
|
||||||
|
prompt_pyenv() {
|
||||||
|
_p9k_pyenv_compute || return
|
||||||
|
_p9k_prompt_segment "$0" "blue" "$_p9k_color1" 'PYTHON_ICON' 0 '' "${_p9k__pyenv_version//\%/%%}"
|
||||||
}
|
}
|
||||||
|
|
||||||
_p9k_prompt_pyenv_init() {
|
_p9k_prompt_pyenv_init() {
|
||||||
|
@ -8023,7 +8042,7 @@ _p9k_must_init() {
|
||||||
[[ $sig == $_p9k__param_sig ]] && return 1
|
[[ $sig == $_p9k__param_sig ]] && return 1
|
||||||
_p9k_deinit
|
_p9k_deinit
|
||||||
fi
|
fi
|
||||||
_p9k__param_pat=$'v120\1'${(q)ZSH_VERSION}$'\1'${(q)ZSH_PATCHLEVEL}$'\1'
|
_p9k__param_pat=$'v121\1'${(q)ZSH_VERSION}$'\1'${(q)ZSH_PATCHLEVEL}$'\1'
|
||||||
_p9k__param_pat+=$'${#parameters[(I)POWERLEVEL9K_*]}\1${(%):-%n%#}\1$GITSTATUS_LOG_LEVEL\1'
|
_p9k__param_pat+=$'${#parameters[(I)POWERLEVEL9K_*]}\1${(%):-%n%#}\1$GITSTATUS_LOG_LEVEL\1'
|
||||||
_p9k__param_pat+=$'$GITSTATUS_ENABLE_LOGGING\1$GITSTATUS_DAEMON\1$GITSTATUS_NUM_THREADS\1'
|
_p9k__param_pat+=$'$GITSTATUS_ENABLE_LOGGING\1$GITSTATUS_DAEMON\1$GITSTATUS_NUM_THREADS\1'
|
||||||
_p9k__param_pat+=$'$GITSTATUS_CACHE_DIR\1$GITSTATUS_AUTO_INSTALL\1${ZLE_RPROMPT_INDENT:-1}\1'
|
_p9k__param_pat+=$'$GITSTATUS_CACHE_DIR\1$GITSTATUS_AUTO_INSTALL\1${ZLE_RPROMPT_INDENT:-1}\1'
|
||||||
|
|
Loading…
Reference in a new issue