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.

50 lines
1.4 KiB

# Initializes OH MY ZSH.
# Disable color in dumb terminals.
if [[ "$TERM" == 'dumb' ]]; then
DISABLE_COLOR='true'
fi
# Add functions to fpath.
fpath=($OMZ/themes/*(/) $OMZ/plugins/${^plugins} $OMZ/functions $fpath)
# Load and initialize the completion system.
autoload -Uz compinit && compinit -i
# Source function files.
source "$OMZ/functions/init.zsh"
# Load all plugins defined in ~/.zshrc.
for plugin in $plugins; do
if [[ -f "$OMZ/plugins/$plugin/$plugin.plugin.zsh" ]]; then
source "$OMZ/plugins/$plugin/$plugin.plugin.zsh"
fi
done
# Load and run the prompt theming system.
autoload -Uz promptinit && promptinit -i
# Load the automatic recompiler.
autoload -Uz zrecompile
# Compile files.
for zsh_file in $HOME/.z{login,logout,profile,shenv,shrc,compdump}(N) $OMZ/*.zsh(N); do
zrecompile -q -p -U -z "$zsh_file"
done
# Compile function directories.
for (( i=1; i <= $#fpath; i++ )); do
function_dir="$fpath[i]"
[[ "$function_dir" == (.|..) ]] \
|| [[ "$function_dir" == (.|..)/* ]] \
|| [[ ! -w "$function_dir:h" ]] && continue
function_files=($function_dir/^*(\.(rej|orig)|~|\#)(N-.))
[[ -n "$function_files" ]] \
&& function_files=(${${(M)function_files%/*/*}#/}) \
&& ( cd "$function_dir:h" && zrecompile -q -p -U -z "${function_dir:t}.zwc" "$function_files[@]" ) \
&& fpath[i]="$fpath[i].zwc"
done
unset function_dir
unset function_files