Currently the title format is hardcoded in two calls to prompt_pure_set_title(). This means that if I want to change the format of the title, I have to entirely override that function and then add hooks of my own to set the title with the appropriate ANSI codes. That's both more complicated than it needs to be and inherently fragile, since it assumes that the function name will never change.
I have two (complementary) suggestions:
Add a variable to disable prompt setting, wrapping around the two calls to prompt_pure_set_title(). Default to leaving it enabled but allow the user to switch it off and manage the prompt on their own if they wish.
Add variables that determine the contents of the prompt, using the current values as defaults: ${PURE_PROMPT_TITLE_IDLE:-%~} or something along those lines. That way the user can override one or both of those as they wish.
I can try opening a PR if that's useful.
General information
System report (output of prompt_pure_system_report):
Currently the title format is hardcoded in two calls to
prompt_pure_set_title()
. This means that if I want to change the format of the title, I have to entirely override that function and then add hooks of my own to set the title with the appropriate ANSI codes. That's both more complicated than it needs to be and inherently fragile, since it assumes that the function name will never change.I have two (complementary) suggestions:
prompt_pure_set_title()
. Default to leaving it enabled but allow the user to switch it off and manage the prompt on their own if they wish.${PURE_PROMPT_TITLE_IDLE:-%~}
or something along those lines. That way the user can override one or both of those as they wish.I can try opening a PR if that's useful.
General information
System report (output of
prompt_pure_system_report
):''
❯
1.21.0
1.8.6
typeset -g PROMPT=$'%F{${prompt_pure_colors[path]}}%~%f %F{242}${prompt_pure_vcs_info[branch]}%F{218}${prompt_pure_git_dirty}%f %F{$prompt_pure_colors[git:arrow]}${prompt_pure_git_arrows}%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 [suspended_jobs]=red [user]=242 [user:root]=default [virtualenv]=242 )
export TERM=xterm-256color
export VIRTUAL_ENV_DISABLE_PROMPT=12
export CONDA_CHANGEPS1=no