1
0
Fork 0
mirror of synced 2024-05-26 03:51:13 -04:00
zimfw/login_init.zsh
2018-04-06 17:49:48 -07:00

46 lines
1.2 KiB
Bash
Executable file

#
# startup file read in interactive login shells
#
# The following code helps us by optimizing the existing framework.
# This includes zcompile, zcompdump, etc.
#
(
local dir file zmodule zmodule_dir
setopt LOCAL_OPTIONS EXTENDED_GLOB
autoload -U zrecompile
# zcompile the completion cache; siginificant speedup
zrecompile -pq ${ZDOTDIR:-${HOME}}/${zcompdump_file:-.zcompdump}
# zcompile .zshrc
zrecompile -pq ${ZDOTDIR:-${HOME}}/.zshrc
# zcompile enabled module autoloaded functions
for dir in ${ZIM_HOME}/modules/${^zmodules}/functions(/FN); do
zrecompile -pq ${dir}.zwc ${dir}/^([_.]*|prompt_*_setup|README*|*.zwc|*.zwc.old)(-.N)
done
# zcompile enabled module init scripts and subdirs
setopt nullglob
for zmodule (${zmodules}); do
zmodule_dir=${ZIM_HOME}/modules/${zmodule}
if [[ -d ${zmodule_dir} ]]; then
for file (${zmodule_dir}/**/*.{zsh,sh,zsh-theme} \
${zmodule_dir}/*.{zsh,sh,zsh-theme}); do
if [[ -f ${file} ]]; then
zrecompile -pq ${file}
fi
done
fi
done
unsetopt nullglob
# zcompile all prompt setup scripts
for file in ${ZIM_HOME}/modules/prompt/functions/prompt_*_setup; do
zrecompile -pq ${file}
done
) &!