96d10e2147b59adc25e9c3b90ac6f31935495ef3

Author
Robert Strack <robert.strack@gmail.com>
Committer
Robert Strack <robert.strack@gmail.com>
Date

Message

calculating command's execution time

Diff

 1diff --git a/plugins/timer/timer.plugin.zsh b/plugins/timer/timer.plugin.zsh
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..aa4573b9faa8ffce4061f6b8f5af21b1cf9f233d
 4--- /dev/null
 5+++ b/plugins/timer/timer.plugin.zsh
 6@@ -0,0 +1,18 @@
 7+preexec() {
 8+  __timer_cmd_start_time=$(date '+%s')
 9+}
10+
11+precmd() {
12+  if [ -n "${__timer_cmd_start_time}" ]; then
13+    local cmd_end_time=$(date '+%s')
14+    local tdiff=$((${cmd_end_time} - ${__timer_cmd_start_time}))
15+    unset __timer_cmd_start_time
16+    local tdiffstr='/'
17+    if (( tdiff >= 60 )); then
18+      tdiffstr+="$((tdiff / 60))m"
19+    fi
20+    tdiffstr+="$((tdiff % 60))s"
21+    local cols=$(($COLUMNS - ${#tdiffstr} - 1))
22+    echo -e "\033[1A\033[${cols}C ${tdiffstr}"
23+  fi
24+}