diff options
Diffstat (limited to 'git-hooks')
-rwxr-xr-x | git-hooks/post-checkout | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/git-hooks/post-checkout b/git-hooks/post-checkout index dfceaee2..910716f7 100755 --- a/git-hooks/post-checkout +++ b/git-hooks/post-checkout @@ -4,3 +4,29 @@ then emacs --batch -f batch-byte-compile ~/.emacs.d/init.el emacs --batch -f batch-byte-compile ~/.emacs.d/elisp/*.el fi + +fasd_cache=~/.zsh/cache/fasd-init-zsh +if [[ ! -s "$fasd_cache" || zsh/functions/fasd -nt "$fasd_cache" ]]; then + zsh/functions/fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install >! "$fasd_cache" +fi + +autoload -U zrecompile +local -a zfiles +zfiles=( + zsh/functions/fasd/fasd + $fasd_cache + zsh/zshrc + zsh/zshrc_${HOST%%.*} +) +if [[ -e /usr/bin/emerge ]]; then + zfiles+=zsh/zshrc_gentoo +fi +if [[ $OSTYPE == freebsd ]]; then + zfiles+=zsh/zshrc_freebsd +fi + +zrecompile -p -R ~/.zshrc.zwc $zfiles + +for fp in zsh/functions/*(/); do + zrecompile -p $fp $fp/* +done |