59
homedir/.config/zsh.d/zshrc
Normal file
59
homedir/.config/zsh.d/zshrc
Normal file
@@ -0,0 +1,59 @@
|
||||
# vim: ft=zsh
|
||||
# Modules
|
||||
|
||||
function msg {
|
||||
if ! (( flag_quiet )); then
|
||||
printf '%s\n' "$*"
|
||||
fi
|
||||
}
|
||||
|
||||
function err { msg "$*" >&2; }
|
||||
|
||||
function modpath {
|
||||
case $1 in
|
||||
(=) ZSHRC_MODPATH=( "$@" );;
|
||||
(*) ZSHRC_MODPATH+=( "$@" );;
|
||||
esac
|
||||
|
||||
export ZSHRC_MODPATH
|
||||
}
|
||||
|
||||
function use {
|
||||
declare flag_nofail flag_quiet mname m_nofirst
|
||||
|
||||
while (( $# )); do
|
||||
case $1 in
|
||||
(-n) flag_nofail=1;;
|
||||
(-q) flag_quiet=1;;
|
||||
(--) shift; break;;
|
||||
(*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
printf '[zshrc] Loading modules: '
|
||||
for mname in $@; do
|
||||
if ! (( m_nofirst )); then
|
||||
printf '%s' $mname
|
||||
else
|
||||
printf ', %s' $mname
|
||||
fi
|
||||
|
||||
for p in $ZSHRC_MODPATH; do
|
||||
if [[ -f $p/$mname ]]; then
|
||||
if ! source $p/$mname; then
|
||||
printf '(fail)'
|
||||
fi
|
||||
else
|
||||
printf '(not found)'
|
||||
fi
|
||||
done
|
||||
|
||||
m_nofirst=1
|
||||
done
|
||||
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
# Default ZSHRC_MODPATH
|
||||
modpath "$HOME/.config/zsh.d/modules"
|
Reference in New Issue
Block a user