# load custom executable functions
|
|
for function in ~/.zsh/functions/*; do
|
|
source $function
|
|
done
|
|
|
|
# extra files in ~/.zsh/configs/pre , ~/.zsh/configs , and ~/.zsh/configs/post
|
|
# these are loaded first, second, and third, respectively.
|
|
_load_settings() {
|
|
_dir="$1"
|
|
if [ -d "$_dir" ]; then
|
|
if [ -d "$_dir/pre" ]; then
|
|
for config in "$_dir"/pre/**/*~*.zwc(N-.); do
|
|
. $config
|
|
done
|
|
fi
|
|
|
|
for config in "$_dir"/**/*(N-.); do
|
|
case "$config" in
|
|
"$_dir"/(pre|post)/*|*.zwc)
|
|
:
|
|
;;
|
|
*)
|
|
. $config
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ -d "$_dir/post" ]; then
|
|
for config in "$_dir"/post/**/*~*.zwc(N-.); do
|
|
. $config
|
|
done
|
|
fi
|
|
fi
|
|
}
|
|
_load_settings "$HOME/.zsh/configs"
|
|
|
|
declare -A hostname_colors
|
|
|
|
# Load local override configs
|
|
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local
|
|
|
|
#
|
|
# PROMPT
|
|
# I'd like to move this into it's own file but am having issues with the git branch extrapolating correctly
|
|
#
|
|
if [ ! -z "${VIMRUNTIME}" ]; then
|
|
PROMPT_PRE="%F{yellow}[VIM SHELL] "
|
|
fi
|
|
|
|
HOSTNAME_COLOR="${HOSTNAME_COLOR:={{ .hostname_color }}}"
|
|
PROMPT="${PROMPT_PRE:=}%F{blue}%n%f@%F{$HOSTNAME_COLOR}%m%f:%F{cyan}%~%f [%F{214}%*%f] \$vcs_info_msg_0_%(?.%F{green}:).%F{red}:()%f"$' ${PROMPT_POST:=}\n'"|--%# "
|
|
|
|
# The following is to configure git branch info
|
|
# Git branch appears on right side of prompt, where available
|
|
autoload -Uz vcs_info
|
|
precmd_vcs_info() { vcs_info }
|
|
precmd_functions+=( precmd_vcs_info )
|
|
setopt prompt_subst
|
|
zstyle ':vcs_info:git:*' formats '%F{5}(%b)%f '
|
|
zstyle ':vcs_info:*' enable git
|