1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-12-18 13:41:56 +00:00

Add command_execution_time segment

This commit is contained in:
Dominik Ritter 2017-02-13 00:56:32 +01:00
parent 1de14df11f
commit 7e5bef14d7
2 changed files with 26 additions and 0 deletions

View file

@ -20,6 +20,11 @@ Added an option to configure the path separator. If you want something
else than an ordinary slash, you could set else than an ordinary slash, you could set
`POWERLEVEL9K_DIR_PATH_SEPARATOR` to whatever you want. `POWERLEVEL9K_DIR_PATH_SEPARATOR` to whatever you want.
### New segment 'command_execution_time' added
Shows the duration a command needed to run. By default only durations over 3 seconds
are shown (can be adjusted by setting POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD).
### New segment 'dir_writable' added ### New segment 'dir_writable' added
This segment displays a lock icon if your user has no write permissions in the current folder. This segment displays a lock icon if your user has no write permissions in the current folder.

View file

@ -560,6 +560,16 @@ prompt_custom() {
fi 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 # Dir: current working directory
set_default POWERLEVEL9K_DIR_PATH_SEPARATOR "/" set_default POWERLEVEL9K_DIR_PATH_SEPARATOR "/"
prompt_dir() { prompt_dir() {
@ -1164,6 +1174,10 @@ build_right_prompt() {
done done
} }
powerlevel9k_preexec() {
_P9K_TIMER_START=$EPOCHSECONDS
}
powerlevel9k_prepare_prompts() { powerlevel9k_prepare_prompts() {
RETVAL=$? RETVAL=$?
@ -1195,6 +1209,9 @@ $(print_icon 'MULTILINE_SECOND_PROMPT_PREFIX')"
} }
prompt_powerlevel9k_setup() { 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 # Display a warning if the terminal does not support 256 colors
local term_colors local term_colors
term_colors=$(echotc Co) term_colors=$(echotc Co)
@ -1239,11 +1256,15 @@ prompt_powerlevel9k_setup() {
powerlevel9k_vcs_init powerlevel9k_vcs_init
fi fi
# initialize timing functions
zmodload zsh/datetime
# initialize hooks # initialize hooks
autoload -Uz add-zsh-hook autoload -Uz add-zsh-hook
# prepare prompts # prepare prompts
add-zsh-hook precmd powerlevel9k_prepare_prompts add-zsh-hook precmd powerlevel9k_prepare_prompts
add-zsh-hook preexec powerlevel9k_preexec
} }
prompt_powerlevel9k_setup "$@" prompt_powerlevel9k_setup "$@"