prompt_pure_system_report
):''
❯
1.13.0
1.8.4
typeset -g PROMPT=$'%F{${prompt_pure_colors[path]}}%~%f %}%(12V.%F{$prompt_pure_colors[virtualenv]}%12v%f .)%(?.%F{$prompt_pure_colors[prompt:success]}.%F{$prompt_pure_colors[prompt:error]})${prompt_pure_state[prompt]}%f '
typeset -g -A prompt_pure_colors=( [execution_time]=yellow [git:action]=yellow [git:arrow]=cyan [git:branch]=242 [git:branch:cached]=red [git:dirty]=218 [git:stash]=cyan [host]=242 [path]=blue [prompt:continuation]=242 [prompt:error]=red [prompt:success]=magenta [user]=242 [user:root]=default [virtualenv]=242 )
export TERM=xterm-256color
export VIRTUAL_ENV_DISABLE_PROMPT=12
export CONDA_CHANGEPS1=no
I don't think any of this applies, the problem is specific to Pure and it's clear from source code inspection.
When you use a custom CONDA_ENVS_PATH
conda shows by default the entire env path (and not just it's name) which usually is too large for a prompt. The usual trick is to configure env_prompt '({name})'
in .condarc
. But pure ignores this and just reads the name from CONDA_DEFAULT_ENV
which is the entire path. Please add an option to only show the basename, I believe this is an important use case for a prompt that supports conda and, at the same time, tries to be non-invasive.
.zshrc
:export CONDA_ENVS_PATH=~/Base/Venvs
fpath+=$HOME/.pure
autoload -U promptinit; promptinit
prompt pure
conda-init() {
local base="/usr/local/Caskroom/miniconda/base"
local conda_setup="$($base/bin/conda shell.zsh hook 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$conda_setup"
else
if [ -f "$base/etc/profile.d/conda.sh" ]; then
. "$base/etc/profile.d/conda.sh"
else
export PATH="$/base/bin:$PATH"
fi
fi
}
conda-init
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too