dotfiles/home/private_dot_config/zsh/dot_zshrc

40 lines
1.1 KiB
Text
Raw Normal View History

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