You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							895 B
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							895 B
						
					
					
				__timer_current_time() { | 
						|
  perl -MTime::HiRes=time -e'print time' | 
						|
} | 
						|
 | 
						|
__timer_format_duration() { | 
						|
  local mins=$(printf '%.0f' $(($1 / 60))) | 
						|
  local secs=$(printf "%.${TIMER_PRECISION:-1}f" $(($1 - 60 * mins))) | 
						|
  local duration_str=$(echo "${mins}m${secs}s") | 
						|
  local format="${TIMER_FORMAT:-/%d}" | 
						|
  echo "${format//\%d/${duration_str#0m}}" | 
						|
} | 
						|
 | 
						|
__timer_save_time_preexec() { | 
						|
  __timer_cmd_start_time=$(__timer_current_time) | 
						|
} | 
						|
 | 
						|
__timer_display_timer_precmd() { | 
						|
  if [ -n "${__timer_cmd_start_time}" ]; then | 
						|
    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}" | 
						|
  fi | 
						|
} | 
						|
 | 
						|
preexec_functions+=(__timer_save_time_preexec) | 
						|
precmd_functions+=(__timer_display_timer_precmd)
 | 
						|
 |