Compare commits

...

3 Commits

Author SHA1 Message Date
Benjamin "Ziirish" SANS be17763033
Merge 672b958a7e into 604f19a9ea 2026-03-14 17:04:23 +07:00
Roman Perepelitsa 604f19a9ea Squashed 'gitstatus/' changes from 44504a24..075baf6e
075baf6e Fix gitstatus build failure with Apple Clang 17 (Xcode 16+)
6bcf109c Compiling on mips64 (#476)

git-subtree-dir: gitstatus
git-subtree-split: 075baf6ecb19f58b09c9562f33c20b842e870961
2026-03-14 07:07:11 +01:00
ziirish 672b958a7e add support for poetry virtualenv 2022-08-25 17:39:47 +02:00
6 changed files with 61 additions and 2 deletions

View File

@ -47,6 +47,7 @@
virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
anaconda # conda environment (https://conda.io/) anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv) pyenv # python environment (https://github.com/pyenv/pyenv)
poetry # python poetry (https://python-poetry.org/)
goenv # go environment (https://github.com/syndbg/goenv) goenv # go environment (https://github.com/syndbg/goenv)
nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
@ -951,6 +952,10 @@
# If set to "false", won't show virtualenv if pyenv is already shown. # If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv. # If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# If set to "true", get the virtualenv from poetry if available
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_POETRY=false
# Show poetry venv only when in a directory tree containing pyproject.toml.
typeset -g POWERLEVEL9K_POETRY_VENV_PROJECT_ONLY=true
# Separate environment name from Python version only with a space. # Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon. # Custom icon.

View File

@ -47,6 +47,7 @@
virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
anaconda # conda environment (https://conda.io/) anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv) pyenv # python environment (https://github.com/pyenv/pyenv)
poetry # python poetry (https://python-poetry.org/)
goenv # go environment (https://github.com/syndbg/goenv) goenv # go environment (https://github.com/syndbg/goenv)
nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
@ -926,6 +927,10 @@
# If set to "false", won't show virtualenv if pyenv is already shown. # If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv. # If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# If set to "true", get the virtualenv from poetry if available
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_POETRY=false
# Show poetry venv only when in a directory tree containing pyproject.toml.
typeset -g POWERLEVEL9K_POETRY_VENV_PROJECT_ONLY=true
# Separate environment name from Python version only with a space. # Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon. # Custom icon.

View File

@ -47,6 +47,7 @@
virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
anaconda # conda environment (https://conda.io/) anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv) pyenv # python environment (https://github.com/pyenv/pyenv)
poetry # python poetry (https://python-poetry.org/)
goenv # go environment (https://github.com/syndbg/goenv) goenv # go environment (https://github.com/syndbg/goenv)
nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
@ -926,6 +927,10 @@
# If set to "false", won't show virtualenv if pyenv is already shown. # If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv. # If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# If set to "true", get the virtualenv from poetry if available
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_POETRY=false
# Show poetry venv only when in a directory tree containing pyproject.toml.
typeset -g POWERLEVEL9K_POETRY_VENV_PROJECT_ONLY=true
# Separate environment name from Python version only with a space. # Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon. # Custom icon.

View File

@ -47,6 +47,7 @@
virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
anaconda # conda environment (https://conda.io/) anaconda # conda environment (https://conda.io/)
pyenv # python environment (https://github.com/pyenv/pyenv) pyenv # python environment (https://github.com/pyenv/pyenv)
poetry # python poetry (https://python-poetry.org/)
goenv # go environment (https://github.com/syndbg/goenv) goenv # go environment (https://github.com/syndbg/goenv)
nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
@ -999,6 +1000,10 @@
# If set to "false", won't show virtualenv if pyenv is already shown. # If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv. # If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# If set to "true", get the virtualenv from poetry if available
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_POETRY=false
# Show poetry venv only when in a directory tree containing pyproject.toml.
typeset -g POWERLEVEL9K_POETRY_VENV_PROJECT_ONLY=true
# Separate environment name from Python version only with a space. # Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon. # Custom icon.

View File

@ -272,9 +272,9 @@ case "$gitstatus_kernel" in
gitstatus_cxxflags="$gitstatus_cxxflags -I"$brew_prefix"/opt/libiconv/include" gitstatus_cxxflags="$gitstatus_cxxflags -I"$brew_prefix"/opt/libiconv/include"
fi fi
libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON" libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON"
gitstatus_ldlibs="$gitstatus_ldlibs -liconv" gitstatus_ldlibs="$gitstatus_ldlibs -liconv -lz"
gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib" gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib"
libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF" libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF -DUSE_BUNDLED_ZLIB=OFF"
;; ;;
msys*|mingw*) msys*|mingw*)
gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}" gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}"
@ -551,6 +551,7 @@ if [ -z "$gitstatus_cpu" ]; then
arm64|aarch64) gitstatus_cpu=armv8-a;; arm64|aarch64) gitstatus_cpu=armv8-a;;
ppc64|ppc64le) gitstatus_cpu=powerpc64le;; ppc64|ppc64le) gitstatus_cpu=powerpc64le;;
riscv64) gitstatus_cpu=rv64imafdc;; riscv64) gitstatus_cpu=rv64imafdc;;
mips64) gitstatus_cpu=mips64;;
loongarch64) gitstatus_cpu=loongarch64;; loongarch64) gitstatus_cpu=loongarch64;;
x86_64|amd64) gitstatus_cpu=x86-64;; x86_64|amd64) gitstatus_cpu=x86-64;;
x86) gitstatus_cpu=i586;; x86) gitstatus_cpu=i586;;

View File

@ -4288,6 +4288,44 @@ function _p9k_parse_virtualenv_cfg() {
reply=(1 "$res") reply=(1 "$res")
} }
################################################################
# Segment to display poetry virtualenv information
# https://python-poetry.org/
prompt_poetry() {
local msg=''
if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then
msg="${_p9k__ret//\%/%%} "
fi
_p9k_poetry_compute || return
msg+="$P9K_POETRY_PYTHON_VENV"
_p9k_prompt_segment "$0" "blue" "$_p9k_color1" 'PYTHON_ICON' 0 '' "$msg"
}
_p9k_prompt_poetry_init() {
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${commands[poetry]:-${${+functions[poetry]}:#0}}'
}
function _p9k_poetry_compute() {
unset P9K_POETRY_PYTHON_VENV
case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_POETRY in
true)
_p9k_upglob pyproject.toml
local idx=$?
if (( idx == 1 )); then
_p9k_cached_cmd 0 $_p9k__parent_dirs[idx]/pyproject.toml poetry env info -p || return
elif (( idx > 1 )); then
(( _POWERLEVEL9K_POETRY_VENV_PROJECT_ONLY )) && return
_p9k_cached_cmd 0 '' poetry env info -p || return
fi
if [[ $_p9k__ret == (#b)*/([^/]##) ]]; then
typeset -g P9K_POETRY_PYTHON_VENV=$match[1]
return
fi
;;
esac
return 1
}
################################################################ ################################################################
# Virtualenv: current working virtualenv # Virtualenv: current working virtualenv
# More information on virtualenv (Python): # More information on virtualenv (Python):