2023-02-20 10:10:52 -06:00
|
|
|
#!/usr/bin/env zsh
|
2023-02-17 09:26:31 -06:00
|
|
|
|
|
|
|
# Load zprof first if we need to profile.
|
|
|
|
[[ ${ZPROFRC:-0} -eq 0 ]] || zmodload zsh/zprof
|
|
|
|
alias zprofrc="ZPROFRC=1 zsh"
|
|
|
|
|
|
|
|
setopt extended_glob
|
|
|
|
|
|
|
|
# Autoload functions directory and its subdirs.
|
|
|
|
for funcdir in $ZDOTDIR/functions $ZDOTDIR/functions/*(N/); do
|
|
|
|
fpath=($funcdir $fpath)
|
|
|
|
autoload -Uz $fpath[1]/*(.:t)
|
|
|
|
done
|
|
|
|
unset funcdir
|
|
|
|
|
|
|
|
# Be sure to set any supplemental completions directories before compinit is run.
|
|
|
|
fpath=(${ZDOTDIR}/completions(-/FN) $fpath)
|
|
|
|
|
|
|
|
[[ -d ${ZDOTDIR:-~}/.antidote ]] ||
|
|
|
|
git clone https://github.com/mattmc3/antidote ${ZDOTDIR:-~}/.antidote
|
|
|
|
|
|
|
|
# Set the name of the static .zsh plugins file antidote will generate.
|
2023-05-08 10:46:40 -05:00
|
|
|
zsh_plugins=${ZDOTDIR:-~}/.zplugins.zsh
|
2023-02-17 09:26:31 -06:00
|
|
|
|
2023-05-08 10:46:40 -05:00
|
|
|
# Ensure you have a .zplugins file where you can add plugins.
|
|
|
|
[[ -f ${zsh_plugins:r} ]] || touch ${zsh_plugins:r}
|
2023-02-17 09:26:31 -06:00
|
|
|
|
|
|
|
# Lazy-load antidote.
|
|
|
|
fpath+=(${ZDOTDIR:-~}/.antidote/functions)
|
|
|
|
autoload -Uz $fpath[-1]/antidote
|
|
|
|
|
2023-05-08 10:46:40 -05:00
|
|
|
# Generate static file in a subshell when .zplugins is updated.
|
|
|
|
if [[ ! $zsh_plugins -nt ${zsh_plugins:r} ]]; then
|
|
|
|
(antidote bundle <${zsh_plugins:r} >|$zsh_plugins)
|
2023-02-17 09:26:31 -06:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Source your static plugins file.
|
|
|
|
source $zsh_plugins
|
|
|
|
|