From c30703ac6679a4d220ca18954e1bf9da9f60687f Mon Sep 17 00:00:00 2001 From: Dequan Zhang Date: Sat, 7 Jul 2018 20:46:30 +0000 Subject: [PATCH] update login logic --- login_init.zsh | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/login_init.zsh b/login_init.zsh index 0b98bb4..0da8ca6 100755 --- a/login_init.zsh +++ b/login_init.zsh @@ -5,29 +5,34 @@ # This includes zcompile, zcompdump, etc. # +zcompare() { + if [[ -s ${1} && ( ! -s ${1}.zwc || ${1} -nt ${1}.zwc) ]]; then + zcompile ${1} + fi +} + ( - local dir file - setopt LOCAL_OPTIONS EXTENDED_GLOB - autoload -U zrecompile +local dir file +setopt LOCAL_OPTIONS EXTENDED_GLOB +autoload -U zrecompile +# zcompile the completion cache; siginificant speedup +zcompare ${ZDOTDIR:-${HOME}}/${zcompdump_file:-.zcompdump} - # zcompile the completion cache; siginificant speedup - zrecompile -pq ${ZDOTDIR:-${HOME}}/${zcompdump_file:-.zcompdump} +# zcompile .zshrc +zcompare ${ZDOTDIR:-${HOME}}/.zshrc - # zcompile .zshrc - zrecompile -pq ${ZDOTDIR:-${HOME}}/.zshrc - - # zcompile enabled module autoloaded functions - for dir in ${ZIM_HOME}/modules/${^zmodules}/functions(/FN); do +# zcompile enabled module autoloaded functions +for dir in ${ZIM_HOME}/modules/${^zmodules}/functions(/FN); do zrecompile -pq ${dir}.zwc ${dir}/^(_*|prompt_*_setup|*.*)(-.N) - done +done - # zcompile enabled module scripts - for file in ${ZIM_HOME}/modules/${^zmodules}/(^*test*/)#*.zsh{,-theme}(.NLk+1); do - zrecompile -pq ${file} - done +# zcompile enabled module scripts +for file in ${ZIM_HOME}/modules/${^zmodules}/(^*test*/)#*.zsh{,-theme}(.NLk+1); do + zcompare ${file} +done - # zcompile all prompt setup scripts - for file in ${ZIM_HOME}/modules/prompt/functions/prompt_*_setup; do - zrecompile -pq ${file} - done +# zcompile all prompt setup scripts +for file in ${ZIM_HOME}/modules/prompt/functions/prompt_*_setup; do + zcompare ${file} +done ) &!