make zrecompile optional
authorJoerg Jaspert <joerg@debian.org>
Fri, 22 Mar 2013 19:39:38 +0000 (20:39 +0100)
committerJoerg Jaspert <joerg@debian.org>
Fri, 22 Mar 2013 19:39:38 +0000 (20:39 +0100)
.zsh/.zshrc
.zsh/zshenv.local.sample

index 9596022..55637a5 100644 (file)
@@ -9,20 +9,30 @@
 # Base directory for all plugins, themes, functions, whatever
 ZSH=${HOME}/.zsh
 
-debug ()
-{
-    [[ "${DEBUG}" = "no" ]] && return
-    msg=${1:-""}
-    nl=${2:-""}
-    echo ${nl} "${msg}$reset_color"
-}
+if [[ ${DEBUG} != no ]]; then
+    debug () {
+        [[ "${DEBUG}" = "no" ]] && return
+        msg=${1:-""}
+        nl=${2:-""}
+        echo ${nl} "${msg}$reset_color"
+    }
+else
+    debug () {}
+    # May want to use colors in log output...
+    autoload -U colors && colors
+fi
 
-# May want to use colors in log output...
-[[ "${DEBUG}" = "no" ]] && autoload -U colors && colors
 debug "Starting zsh"
 
-autoload -Uz zrecompile
-zrecompile -q -p -R ${ZDOTDIR}/.zshrc -- -M ${ZDOTDIR}/var/.zcompdump
+if zstyle -T ':ganneff:config' zrecompile; then
+    autoload -Uz zrecompile
+    zrecompile -q -p -R ${ZDOTDIR}/.zshrc -- -M ${ZDOTDIR}/var/.zcompdump
+    maybe_compile () {
+        zrecompile -q -p -U -R ${1}
+    }
+else
+    maybe_compile () {}
+fi
 
 # Idea copied from https://github.com/hugues/zdotdir/blob/master/zshrc
 # AUTHOR: Hugues Hiegel <hugues@hiegel.fr>
@@ -31,7 +41,7 @@ if [ -d ${ZDOTDIR} ]; then
     for script in ${ZDOTDIR}/??_*.zsh;  do
         lscript=${script:t:r}
         debug "Loading ${lscript/??_/}... " -n
-        zrecompile -q -p -U -R ${script}
+        maybe_compile ${script}
         source $script
         debug "$fg_no_bold[green]done"
         for i in "net:$DOMAIN"                                     \
@@ -65,14 +75,14 @@ if [ -d ${ZDOTDIR} ]; then
             #debug "Checking $specific_script... "
             if [ -r ${specific_script} ]; then
                 debug "Loading $i/${${specific_script:t:r}/??_/}... " -n
-                zrecompile -q -p -U -R ${specific_script}
+                maybe_compile ${specific_script}
                 source ${specific_script}
                 debug "$fg_no_bold[green]done"
             fi
         done
         if [[ -f ${ZDOTDIR}/${lscript}.zsh.local ]]; then
             debug "Loading local ${lscript/??_/}... " -n
-            zrecompile -q -p -U -R ${lscript}.zsh.local
+            maybe_compile ${lscript}.zsh.local
             source ${script}.local
             debug "$fg_no_bold[green]done"
         fi
index 3768f63..5732e69 100644 (file)
@@ -46,6 +46,11 @@ lmanpath=(
 ## The format of login/logout reports
 # zstyle ':ganneff:config' WATCHFMT '%n %a %l from %m at %t.'
 
+## Do you want to have zsh compile your startup files?
+## It may make it faster. It may make it slower. Check yourself.
+## This uses zrecompile, so changed files are automagically detected
+# zstyle ':ganneff:config' zrecompile false
+
 ## The two variables COLORS and LINEDRAW, by default, are set according
 ## to the capabilities of your terminal. COLORS if it supports colors
 ## (tput colors > 0), ## LINEDRAW, who would have thought, if it can