add command timer to prompt
This commit is contained in:
@@ -50,6 +50,7 @@ bindkey "\eOF" end-of-line
|
||||
|
||||
# saves $EPOCHSECONDS
|
||||
zmodload zsh/datetime
|
||||
zmodload zsh/mathfunc
|
||||
|
||||
# profiler
|
||||
# zmodload zsh/zprof
|
||||
|
@@ -21,6 +21,7 @@ COLOR_PWD_ROOT='red'
|
||||
COLOR_PROMPT_STARTER='green'
|
||||
COLOR_TIME='green'
|
||||
COLOR_USERHOSTNAME='blue'
|
||||
COLOR_DURATION='magenta'
|
||||
|
||||
NEWLINE=$'\n'
|
||||
|
||||
@@ -41,10 +42,22 @@ function prompt_abra_precmd {
|
||||
PRE=$(print ${(l:${COLUMNS}:)PRE})
|
||||
# print -P '%(!.%F{${COLOR_PWD_ROOT}}.%F{${COLOR_PWD}})${PRE}%f'
|
||||
print -P '%F{${COLOR_PWD}}${PRE}%f'
|
||||
|
||||
if [[ -z $PREEXEC_TIME ]]; then
|
||||
EXECTIME=0
|
||||
else
|
||||
EXECTIME=$(( EPOCHREALTIME - PREEXEC_TIME ))
|
||||
fi
|
||||
|
||||
if (( EXECTIME > 5 )); then
|
||||
DURATION=$(TZ=GMT; strftime '%H:%M:%S ' $(( int(rint(EXECTIME)) )) )
|
||||
else
|
||||
DURATION=''
|
||||
fi
|
||||
}
|
||||
|
||||
function prompt_abra_preexec {
|
||||
# echo hi
|
||||
PREEXEC_TIME=$EPOCHREALTIME
|
||||
}
|
||||
|
||||
function prompt_abra_setup {
|
||||
@@ -88,6 +101,7 @@ function prompt_abra_setup {
|
||||
RPROMPT=$RPROMPT'%(?..%F{red}%?%f )' # last command code if nonzero
|
||||
RPROMPT=$RPROMPT'%B%(!.%F{${COLOR_PWD_ROOT}}.%F{${COLOR_USERHOSTNAME}})%n@%M%f%b'
|
||||
RPROMPT=$RPROMPT'${git_info[rprompt]} '
|
||||
RPROMPT=$RPROMPT'%F{$COLOR_DURATION}$DURATION%f'
|
||||
RPROMPT=$RPROMPT'%F{$COLOR_TIME}%*%f'
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user