# 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

# Compile zcompdump, if modified, to increase startup speed.
if [[ "$HOME/.zcompdump" -nt "$HOME/.zcompdump.zwc" ]] || [[ ! -f "$HOME/.zcompdump.zwc" ]]; then
  zcompile "$HOME/.zcompdump"
fi


# 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


--- 
+++ 
@@ -24,8 +24,26 @@
 # Load and run the prompt theming system.
 autoload -Uz promptinit && promptinit -i
 
-# Compile zcompdump, if modified, to increase startup speed.
-if [[ "$HOME/.zcompdump" -nt "$HOME/.zcompdump.zwc" ]] || [[ ! -f "$HOME/.zcompdump.zwc" ]]; then
-  zcompile "$HOME/.zcompdump"
-fi
+# 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
+
Revert compiling all files to only zcompdump.
