summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorRobert Strack <robert.strack@gmail.com>2015-11-13 23:42:21 -0500
committerRobert Strack <robert.strack@gmail.com>2015-11-13 23:42:21 -0500
commit96d10e2147b59adc25e9c3b90ac6f31935495ef3 (patch)
tree20758efaafe56a07ec5299346d4ab2cfc9b36405 /plugins
parent135c3763ccfb07c4a5cde9a2529dfa8d6ba19b39 (diff)
downloadzsh-96d10e2147b59adc25e9c3b90ac6f31935495ef3.tar.gz
zsh-96d10e2147b59adc25e9c3b90ac6f31935495ef3.tar.bz2
zsh-96d10e2147b59adc25e9c3b90ac6f31935495ef3.zip
calculating command's execution time
Diffstat (limited to 'plugins')
-rw-r--r--plugins/timer/timer.plugin.zsh18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/timer/timer.plugin.zsh b/plugins/timer/timer.plugin.zsh
new file mode 100644
index 000000000..aa4573b9f
--- /dev/null
+++ b/plugins/timer/timer.plugin.zsh
@@ -0,0 +1,18 @@
+preexec() {
+ __timer_cmd_start_time=$(date '+%s')
+}
+
+precmd() {
+ if [ -n "${__timer_cmd_start_time}" ]; then
+ local cmd_end_time=$(date '+%s')
+ local tdiff=$((${cmd_end_time} - ${__timer_cmd_start_time}))
+ unset __timer_cmd_start_time
+ local tdiffstr='/'
+ if (( tdiff >= 60 )); then
+ tdiffstr+="$((tdiff / 60))m"
+ fi
+ tdiffstr+="$((tdiff % 60))s"
+ local cols=$(($COLUMNS - ${#tdiffstr} - 1))
+ echo -e "\033[1A\033[${cols}C ${tdiffstr}"
+ fi
+}