From 57243c81fa90952a08e757020e29ac7172f86744 Mon Sep 17 00:00:00 2001 From: ange Date: Thu, 25 Apr 2024 11:06:55 +0200 Subject: [PATCH] feat: prompt_subst --- .config/zsh/theme.zsh | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/.config/zsh/theme.zsh b/.config/zsh/theme.zsh index 509adcd..866c733 100644 --- a/.config/zsh/theme.zsh +++ b/.config/zsh/theme.zsh @@ -32,7 +32,7 @@ function +vi-git-untracked(){ } function preexec() { - _timer_start="$SECONDS" + PROMPT_timer="$SECONDS" } function _get_time() { @@ -51,23 +51,21 @@ function _get_time() { } function precmd() { - IFS='|' local timer ctx err="${pipestatus[*]}" + IFS='|' local ctx timer err="${pipestatus[*]}" - [ "$_timer_start" -gt 0 ] && timer="$((SECONDS - _timer_start))" - _timer_start=-1 + [ -n "$PROMPT_timer" ] && timer="$((SECONDS - PROMPT_timer))" + unset -m 'PROMPT_*' ctx="$(kubectx -c)" vcs_info - PROMPT='' - [ -n "$ctx" ] && PROMPT+="%{%F{134}%}$ctx/$(kubens -c)%{%f%b%} " - PROMPT+='%{%B%F{32}%}%~%{%f%b%} ' - PROMPT+="$vcs_info_msg_0_" - [ "$timer" -ge 2 ] && PROMPT+="%{%F{101}%}$(_get_time "$timer")%{%f%b%} " - [[ "$err" =~ [1-9] ]] && PROMPT+="%{%F{160}%}${err[*]}%{%f%b%} " - - RPROMPT='' - RPROMPT+=' %{%F{71}%}%(1j.%j.)%{%f%b%}' - [ -n "$VIRTUAL_ENV" ] && RPROMPT+=" %{%F{37}%}${VIRTUAL_ENV:h:t}%{%f%b%}" + [ -n "$ctx" ] && PROMPT_K8S="%{%F{134}%}$ctx/$(kubens -c)%{%f%b%} " + [ "$timer" -ge 2 ] && PROMPT_TIMER="%{%F{101}%}$(_get_time "$timer")%{%f%b%} " + [[ "$err" =~ [1-9] ]] && PROMPT_ERR="%{%F{160}%}$err%{%f%b%} " + [ -n "$VIRTUAL_ENV" ] && PROMPT_VENV=" %{%F{37}%}${VIRTUAL_ENV:h:t}%{%f%b%}" } + +setopt PROMPT_SUBST +PROMPT='$PROMPT_K8S%{%B%F{32}%}%~%{%f%b%} $vcs_info_msg_0_$PROMPT_TIMER$PROMPT_ERR' +RPROMPT='%{%F{71}%}%(1j.%j.)%{%f%b%}$PROMPT_VENV'