summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorFrederick Zhang <frederick888@tsundere.moe>2020-07-15 02:53:37 +1000
committerGitHub <noreply@github.com>2020-07-14 18:53:37 +0200
commitff7618cf744a289a9ba9c332be08ed5304d2f45f (patch)
tree53516343d538cf5d7a4f7f404db7fde133a70fe1 /plugins
parent68b98c9d53a4dd0c53d25a9595305e2318af0e2b (diff)
downloadzsh-ff7618cf744a289a9ba9c332be08ed5304d2f45f.tar.gz
zsh-ff7618cf744a289a9ba9c332be08ed5304d2f45f.tar.bz2
zsh-ff7618cf744a289a9ba9c332be08ed5304d2f45f.zip
timer: threshold to show timers only for time-consuming commands (#8151)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/timer/README.md1
-rw-r--r--plugins/timer/timer.plugin.zsh8
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
}