Add right prompt with duration and rc

This commit is contained in:
Loic Nageleisen 2023-04-20 15:29:16 +02:00
parent d847fb297b
commit 3c3b89831b
Signed by: lloeki
GPG key ID: D05DAEE6889F94C2
2 changed files with 24 additions and 1 deletions

View file

@ -176,6 +176,18 @@ set_prompt() {
buffer="${buffer}%f> " buffer="${buffer}%f> "
PROMPT="${buffer}" PROMPT="${buffer}"
local rbuffer=""
if [[ ${CMD_DURATION:-0} -gt 0 ]]; then
printf -v formatted_duration "%.3f" "${CMD_DURATION}"
rbuffer=" %F{yellow}${formatted_duration}s${rbuffer}"
fi
[[ ${CMD_RC} -ne 0 ]] && rbuffer=" %F{red}${CMD_RC}${rbuffer}"
RPROMPT="${rbuffer}%f"
} }
# vim: ft=zsh # vim: ft=zsh

13
zsh/rc
View file

@ -23,8 +23,18 @@ GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWSTASHSTATE=1 GIT_PS1_SHOWSTASHSTATE=1
GIT_PS1_SHOWUNTRACKEDFILES=1 GIT_PS1_SHOWUNTRACKEDFILES=1
zmodload zsh/datetime
precmd() { precmd() {
LAST_CMD_RC=$? CMD_RC=$?
if [[ -n ${CMD_START} ]]; then
CMD_END="${EPOCHREALTIME}"
CMD_DURATION=$(( ${CMD_END} - ${CMD_START} ))
unset CMD_START
unset CMD_END
fi
_direnv_hook _direnv_hook
psvar=() psvar=()
set_prompt set_prompt
@ -33,6 +43,7 @@ precmd() {
preexec() { preexec() {
set_term_title set_term_title
CMD_START="${EPOCHREALTIME}"
} }
chpwd() { chpwd() {