dotfiles/zsh/zshrc

50 lines
1.0 KiB
Bash

#!/usr/bin/env zsh
ZSH_DOTFILES="${0:h}"
autoload -U colors && colors
# Performance {{{
zmodload zsh/datetime
typeset -A _perf_timers
_perf_timer_start() {
local name="$1"
if [[ -z "$name" ]]; then
print >&2 "$0: usage: $0 <name>"
return 1
fi
_perf_timers[$name]="$EPOCHREALTIME"
}
_perf_timer_stop() {
local name="$1"
if [[ -z "$name" ]]; then
print >&2 "$0: usage: $0 <name>"
return 1
fi
local stop_time="$EPOCHREALTIME" start_time="${_perf_timers[$name]}"
local -i duration="$(( (stop_time - start_time) * 1000 ))"
print -- "$(print -P '%F{8}==>%f') ${name}: ${duration}ms"
}
# }}}
_perf_timer_start "total"
for script in functions options path env plugins aliases completion zle prompt colorscheme; do
_perf_timer_start "$script.zsh"
source "$ZSH_DOTFILES/$script.zsh"
_perf_timer_stop "$script.zsh"
done
# add colon after MANPATH so that it doesn't overwrite system MANPATH
MANPATH="$MANPATH:"
command_exists rbenv && eval "$(rbenv init -)"
_perf_timer_stop "total"
welcome