From ff7618cf744a289a9ba9c332be08ed5304d2f45f Mon Sep 17 00:00:00 2001 From: Frederick Zhang Date: Wed, 15 Jul 2020 02:53:37 +1000 Subject: [PATCH] timer: threshold to show timers only for time-consuming commands (#8151) --- plugins/timer/README.md | 1 + plugins/timer/timer.plugin.zsh | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/timer/README.md b/plugins/timer/README.md index 321307e59..30b0bd00e 100644 --- a/plugins/timer/README.md +++ b/plugins/timer/README.md @@ -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_PRECISION` allows to control number of decimal places (default `1`) * `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: diff --git a/plugins/timer/timer.plugin.zsh b/plugins/timer/timer.plugin.zsh index 728377c5c..1be7516a3 100644 --- a/plugins/timer/timer.plugin.zsh +++ b/plugins/timer/timer.plugin.zsh @@ -19,9 +19,11 @@ __timer_display_timer_precmd() { local cmd_end_time=$(__timer_current_time) local tdiff=$((cmd_end_time - __timer_cmd_start_time)) unset __timer_cmd_start_time - local tdiffstr=$(__timer_format_duration ${tdiff}) - local cols=$((COLUMNS - ${#tdiffstr} - 1)) - echo -e "\033[1A\033[${cols}C ${tdiffstr}" + if [[ -z "${TIMER_THRESHOLD}" || ${tdiff} -ge "${TIMER_THRESHOLD}" ]]; then + local tdiffstr=$(__timer_format_duration ${tdiff}) + local cols=$((COLUMNS - ${#tdiffstr} - 1)) + echo -e "\033[1A\033[${cols}C ${tdiffstr}" + fi fi }