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