timer.plugin.zsh 410 B

1234567891011121314
  1. preexec() {
  2. __timer_cmd_start_time=$(date '+%s')
  3. }
  4. precmd() {
  5. if [ -n "${__timer_cmd_start_time}" ]; then
  6. local cmd_end_time=$(date '+%s')
  7. local tdiff=$((${cmd_end_time} - ${__timer_cmd_start_time}))
  8. unset __timer_cmd_start_time
  9. local tdiffstr="$((tdiff / 60))m$((tdiff % 60))s"
  10. local cols=$(($COLUMNS - ${#tdiffstr#0m} - 2))
  11. echo -e "\033[1A\033[${cols}C \`${tdiffstr#0m}"
  12. fi
  13. }