d36d57e62a
This commit assumes that the user-provided variable for the filename will start with '.zcomp'. This is used in the .zlogin for zcompiling the completion file. Sourcing the .zimrc file within the .zlogin file is something I'd rather not do, and this seems like a good compromise. If this becomes an issue, the file can be sourced an the var can be used instead. Closes #42
58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
#
|
|
# startup file read in interactive login shells
|
|
#
|
|
# The following code helps us by optimizing the existing framework.
|
|
# This includes zcompile, zcompdump, etc.
|
|
#
|
|
|
|
(
|
|
# Function to determine the need of a zcompile. If the .zwc file
|
|
# does not exist, or the base file is newer, we need to compile.
|
|
# These jobs are asynchronous, and will not impact the interactive shell
|
|
zcompare() {
|
|
if [[ -s ${1} && ( ! -s ${1}.zwc || ${1} -nt ${1}.zwc) ]]; then
|
|
zcompile ${1}
|
|
fi
|
|
}
|
|
|
|
zim_mods=${ZDOTDIR:-${HOME}}/.zim/modules
|
|
setopt EXTENDED_GLOB
|
|
|
|
# zcompile the completion cache; siginificant speedup.
|
|
for file in ${ZDOTDIR:-${HOME}}/.zcomp^(*.zwc)(.); do
|
|
zcompare ${file}
|
|
done
|
|
|
|
# zcompile .zshrc
|
|
zcompare ${ZDOTDIR:-${HOME}}/.zshrc
|
|
|
|
# zcompile some light module init scripts
|
|
zcompare ${zim_mods}/git/init.zsh
|
|
zcompare ${zim_mods}/utility/init.zsh
|
|
zcompare ${zim_mods}/pacman/init.zsh
|
|
zcompare ${zim_mods}/spectrum/init.zsh
|
|
zcompare ${zim_mods}/completion/init.zsh
|
|
zcompare ${zim_mods}/fasd/init.zsh
|
|
|
|
# zcompile all .zsh files in the custom module
|
|
for file in ${zim_mods}/custom/**/^(README.md|*.zwc)(.); do
|
|
zcompare ${file}
|
|
done
|
|
|
|
# zcompile all autoloaded functions
|
|
for file in ${zim_mods}/**/functions/^(*.zwc)(.); do
|
|
zcompare ${file}
|
|
done
|
|
|
|
# syntax-highlighting
|
|
for file in ${zim_mods}/syntax-highlighting/external/highlighters/**/*.zsh; do
|
|
zcompare ${file}
|
|
done
|
|
zcompare ${zim_mods}/syntax-highlighting/external/zsh-syntax-highlighting.zsh
|
|
|
|
# zsh-histery-substring-search
|
|
zcompare ${zim_mods}/history-substring-search/external/zsh-history-substring-search.zsh
|
|
|
|
|
|
) &!
|