__prompt_time_dir='' [ -d "$__prompt_time_dir" ] || __prompt_time_dir="${XDG_RUNTIME_DIR:-"/var/run/user/$(id -u)"}" [ -d "$__prompt_time_dir" ] || __prompt_time_dir="${XDG_CACHE_HOME:-"$HOME/.cache"}" __prompt_time_file="$__prompt_time_dir/prompt_time/$$" mkdir -p "$(dirname "$__prompt_time_file")" __prompt_time_start() { date '+%s' >| "$__prompt_time_file" } __prompt_time_stop() { [ -r "$__prompt_time_file" ] || return 0 __prompt_time="$(("$(date '+%s')" - "$(cat "$__prompt_time_file")"))" rm "$__prompt_time_file" [ "$__prompt_time" -gt 0 ] || return 0 __prompt_time_d="$((__prompt_time / (24*60*60)))" __prompt_time_h="$((__prompt_time % (24*60*60) / (60*60)))" __prompt_time_m="$((__prompt_time % (60*60) / (60)))" __prompt_time_s="$((__prompt_time % (60)))" __prompt_time_d="$([ "$__prompt_time_d" -eq 0 ] || printf '%02dd' "$__prompt_time_d")" __prompt_time_h="$([ "$__prompt_time_h" -eq 0 ] || printf '%02dh' "$__prompt_time_h")" __prompt_time_m="$([ "$__prompt_time_m" -eq 0 ] || printf '%02dm' "$__prompt_time_m")" __prompt_time_s="$([ "$__prompt_time_s" -eq 0 ] || printf '%02ds' "$__prompt_time_s")" printf '%s' \ "$__prompt_time_d" \ "$__prompt_time_h" \ "$__prompt_time_m" \ "$__prompt_time_s" } __prompt_time() { if [ "$2" ] then printf "$1" "$2" fi }