hooks/post-up/zsh (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/usr/bin/env zsh
ZDOTDIR="${XDG_CONFIG_HOME:=~/.config}/zsh"
pushd $ZDOTDIR
for f in z*(-.)
do
if [[ -e .$f ]]
then
if [[ ! -h .$f ]]
then
echo ".$f already exists as a regular file, ignoring"
fi
else
ln -s $f .$f
fi
done
popd
if [[ ! -d ~/.cache/zsh ]]
then
mkdir -p ~/.cache/zsh
fi
local -a zfiles
zfiles=($ZDOTDIR/zshrc)
autoload -U zrecompile
if [[ -f $ZDOTDIR/${HOST%%.*}.zsh ]]; then
zfiles+=$ZDOTDIR/${HOST%%.*}.zsh
fi
if [[ $OSTYPE == freebsd* ]]; then
zfiles+=$ZDOTDIR/freebsd.zsh
fi
autoload -Uz compinit
compinit -u -d ~/.cache/zsh/compdump
zrecompile -p -R $ZDOTDIR/.zshrc.zwc $zfiles -- \
-M ~/.cache/zsh/compdump
if [[ -s $commands[fasd] ]]; then
if [[ ! -d $ZDOTDIR/functions/fasd ]]; then
mkdir $ZDOTDIR/functions/fasd
fi
if [[ ! -h $ZDOTDIR/functions/fasd/fasd ]]; then
ln -s =fasd $ZDOTDIR/functions/fasd/fasd
fi
fi
for fp in $ZDOTDIR/functions/*(/); do
zrecompile -p $fp $fp/*
done
[[ -f ~/.zsh/fasd-data ]] && mv ~/.zsh/fasd-data ~/.cache/zsh/fasd-data
[[ -f ~/.zsh/history ]] && mv ~/.zsh/history ~/.cache/zsh/history
|