diff options
author | Alan Pearce | 2013-05-18 21:00:12 +0100 |
---|---|---|
committer | Alan Pearce | 2013-05-18 21:00:12 +0100 |
commit | 5649afdf7e4ab16bbbe8f9fb9c487125efa76b5f (patch) | |
tree | ff5c03fb808b37734c59615d94b88553f03e4d40 /git-hooks | |
parent | 9c6faab4adf09bd93e3ae84174df220538fa9a0b (diff) | |
download | nixfiles-5649afdf7e4ab16bbbe8f9fb9c487125efa76b5f.tar.lz nixfiles-5649afdf7e4ab16bbbe8f9fb9c487125efa76b5f.tar.zst nixfiles-5649afdf7e4ab16bbbe8f9fb9c487125efa76b5f.zip |
Migrate zsh file compilation to post-checkout hook
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 |