Unverified Commit ff7618cf authored by Frederick Zhang's avatar Frederick Zhang Committed by GitHub
Browse files

timer: threshold to show timers only for time-consuming commands (#8151)

parent 68b98c9d
...@@ -3,6 +3,7 @@ This plugin allows to display command's execution time in a very nonintrusive wa ...@@ -3,6 +3,7 @@ This plugin allows to display command's execution time in a very nonintrusive wa
Timer can be tuned by these two variables: Timer can be tuned by these two variables:
* `TIMER_PRECISION` allows to control number of decimal places (default `1`) * `TIMER_PRECISION` allows to control number of decimal places (default `1`)
* `TIMER_FORMAT` allows to adjust display format (default `'/%d'`) * `TIMER_FORMAT` allows to adjust display format (default `'/%d'`)
* `TIMER_THRESHOLD` allows to set the minimum execution time that causes the timer to be shown (default `0`)
Sample session: Sample session:
......
...@@ -19,10 +19,12 @@ __timer_display_timer_precmd() { ...@@ -19,10 +19,12 @@ __timer_display_timer_precmd() {
local cmd_end_time=$(__timer_current_time) local cmd_end_time=$(__timer_current_time)
local tdiff=$((cmd_end_time - __timer_cmd_start_time)) local tdiff=$((cmd_end_time - __timer_cmd_start_time))
unset __timer_cmd_start_time unset __timer_cmd_start_time
if [[ -z "${TIMER_THRESHOLD}" || ${tdiff} -ge "${TIMER_THRESHOLD}" ]]; then
local tdiffstr=$(__timer_format_duration ${tdiff}) local tdiffstr=$(__timer_format_duration ${tdiff})
local cols=$((COLUMNS - ${#tdiffstr} - 1)) local cols=$((COLUMNS - ${#tdiffstr} - 1))
echo -e "\033[1A\033[${cols}C ${tdiffstr}" echo -e "\033[1A\033[${cols}C ${tdiffstr}"
fi fi
fi
} }
autoload -U add-zsh-hook autoload -U add-zsh-hook
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment