diff options
author | Dominik Ritter <dritter03@googlemail.com> | 2017-02-13 02:56:32 +0300 |
---|---|---|
committer | Dominik Ritter <dritter03@googlemail.com> | 2017-02-13 02:56:32 +0300 |
commit | 7e5bef14d76029df4474ad8cc5e3d9582fdffcd8 (patch) | |
tree | e47d13f722cb0a950660b750fcf57aa75e9e7528 /powerlevel9k.zsh-theme | |
parent | 1de14df11fb3bf67958555b921f8323cda0d3d03 (diff) |
Add `command_execution_time` segment
Diffstat (limited to 'powerlevel9k.zsh-theme')
-rwxr-xr-x | powerlevel9k.zsh-theme | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 7499197b..de00496c 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -560,6 +560,16 @@ prompt_custom() { fi } +# Display the duration the command needed to run. +prompt_command_execution_time() { + set_default POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD 3 + + local timing=$((EPOCHSECONDS - _P9K_TIMER_START)) + if [ $timing -ge $POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD ]; then + "$1_prompt_segment" "$0" "$2" "red" "226" "Dur ${timing}" '' + fi +} + # Dir: current working directory set_default POWERLEVEL9K_DIR_PATH_SEPARATOR "/" prompt_dir() { @@ -1164,6 +1174,10 @@ build_right_prompt() { done } +powerlevel9k_preexec() { + _P9K_TIMER_START=$EPOCHSECONDS +} + powerlevel9k_prepare_prompts() { RETVAL=$? @@ -1195,6 +1209,9 @@ $(print_icon 'MULTILINE_SECOND_PROMPT_PREFIX')" } prompt_powerlevel9k_setup() { + # Disable false display of command execution time + _P9K_TIMER_START=99999999999 + # Display a warning if the terminal does not support 256 colors local term_colors term_colors=$(echotc Co) @@ -1239,11 +1256,15 @@ prompt_powerlevel9k_setup() { powerlevel9k_vcs_init fi + # initialize timing functions + zmodload zsh/datetime + # initialize hooks autoload -Uz add-zsh-hook # prepare prompts add-zsh-hook precmd powerlevel9k_prepare_prompts + add-zsh-hook preexec powerlevel9k_preexec } prompt_powerlevel9k_setup "$@" |