47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
# shellcheck shell=bash
|
|
# vim: ft=sh
|
|
|
|
# Profiling start
|
|
# zmodload zsh/zprof
|
|
|
|
mkdir -p "$ZDOTDIR/net.d"
|
|
find "$ZDOTDIR/net.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' net; do source "$net"; done
|
|
|
|
stages=(
|
|
05-start
|
|
15-options
|
|
25-history
|
|
42-zinit
|
|
45-plugins
|
|
55-agents
|
|
62-scripts
|
|
68-aliases
|
|
72-widgets
|
|
78-keybindings
|
|
82-completion
|
|
88-prompt
|
|
95-finish
|
|
)
|
|
|
|
# Итерация по этапам
|
|
for S in "${stages[@]}"; do
|
|
# Zsh-подстановка (удаление цифр и дефиса в начале)
|
|
N=${S##[0-9]#-}
|
|
|
|
# Проход по файлам в строгом порядке их загрузки
|
|
for F in "$ZDOTDIR/$S.pre.zsh" "$ZDOTDIR/$S.zsh" "$ZDOTDIR/$S.user.zsh" "$ZDOTDIR/$N.user.zsh" "$ZDOTDIR/$S.post.zsh"; do
|
|
[[ -r "$F" ]] && source "$F"
|
|
done
|
|
done
|
|
|
|
unset stages S
|
|
|
|
mkdir -p "$ZDOTDIR/apps.d"
|
|
find "$ZDOTDIR/apps.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' app; do source "$app"; done
|
|
|
|
mkdir -p "$ZDOTDIR/secrets.d"
|
|
chmod -R go-rwx "$ZDOTDIR/secrets.d/"
|
|
find "$ZDOTDIR/secrets.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' secret; do source "$secret"; done
|
|
|
|
# zprof
|