Compare commits
5 Commits
7deb4cdf21
...
49eb8f984b
| Author | SHA1 | Date |
|---|---|---|
|
|
49eb8f984b | |
|
|
3308262dfb | |
|
|
242ccfaef8 | |
|
|
58e13d16a5 | |
|
|
672b958a7e |
|
|
@ -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.
|
||||||
|
|
@ -1126,7 +1131,7 @@
|
||||||
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
||||||
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
||||||
#
|
#
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
|
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -1101,7 +1106,7 @@
|
||||||
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
||||||
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
||||||
#
|
#
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
|
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -1101,7 +1106,7 @@
|
||||||
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
||||||
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
||||||
#
|
#
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
|
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
@ -1203,7 +1208,7 @@
|
||||||
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
|
||||||
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
|
||||||
#
|
#
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
|
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,9 @@
|
||||||
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
|
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
|
||||||
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
|
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
|
||||||
|
|
||||||
if [[ $ZSH_VERSION != (5.<1->*|<6->.*) || $ZSH_VERSION == 5.4(|.*) ]]; then
|
autoload -Uz is-at-least
|
||||||
|
|
||||||
|
if ! is-at-least 5.1 || [[ $ZSH_VERSION == 5.4.* ]]; then
|
||||||
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
|
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "check.h"
|
||||||
#include "string_view.h"
|
#include "string_view.h"
|
||||||
|
|
||||||
namespace gitstatus {
|
namespace gitstatus {
|
||||||
|
|
@ -94,6 +95,7 @@ class Arena {
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T* Allocate(size_t n) {
|
inline T* Allocate(size_t n) {
|
||||||
static_assert(!std::is_reference<T>(), "");
|
static_assert(!std::is_reference<T>(), "");
|
||||||
|
CHECK(n <= SIZE_MAX / sizeof(T)) << n;
|
||||||
return static_cast<T*>(Allocate(n * sizeof(T), alignof(T)));
|
return static_cast<T*>(Allocate(n * sizeof(T), alignof(T)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2265,7 +2265,7 @@ prompt_package() {
|
||||||
|
|
||||||
P9K_PACKAGE_NAME=$_p9k__cache_val[2]
|
P9K_PACKAGE_NAME=$_p9k__cache_val[2]
|
||||||
P9K_PACKAGE_VERSION=$_p9k__cache_val[3]
|
P9K_PACKAGE_VERSION=$_p9k__cache_val[3]
|
||||||
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${P9K_PACKAGE_VERSION//\%/%%}
|
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${(V)P9K_PACKAGE_VERSION//\%/%%}
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
|
@ -4296,6 +4296,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):
|
||||||
|
|
@ -9527,7 +9565,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p
|
||||||
zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null
|
zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
typeset -g P9K_VERSION=1.20.17
|
typeset -g P9K_VERSION=1.20.18
|
||||||
|
|
||||||
if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then
|
if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then
|
||||||
typeset -gri __p9k_force_term_shell_integration=1
|
typeset -gri __p9k_force_term_shell_integration=1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue