dotfiles/home/private_dot_config/zsh/dot_zshrc

39 lines
1.1 KiB
Bash

#!/usr/bin/env zsh
# 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.
zsh_plugins=${ZDOTDIR:-~}/.zplugins.zsh
# Ensure you have a .zplugins file where you can add plugins.
[[ -f ${zsh_plugins:r} ]] || touch ${zsh_plugins:r}
# Lazy-load antidote.
fpath+=(${ZDOTDIR:-~}/.antidote/functions)
autoload -Uz $fpath[-1]/antidote
# 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)
fi
# Source your static plugins file.
source $zsh_plugins