Compare commits

...
2 Commits
Author SHA1 Message Date
Yuhao Qing 1ba7380ac5 perf(completion): let Oh My Zsh own initialization
A single completion setup avoids duplicate initialization. Homebrew already exports its prefix during environment setup, so resolving it again adds an unnecessary subprocess.
2026-09-08 00:41:09 +08:00
Yuhao Qing d5afd25bbe perf(pyenv): initialize shell integration once without rehash
Login shells source the fragment twice to restore shim precedence after the system profile. Reapplying PATH does not require repeating shell integration or rebuilding shims.
2026-09-08 00:41:08 +08:00
3 changed files with 26 additions and 7 deletions
+2 -5
View File
@@ -40,13 +40,10 @@ plugins=(
fpath+=$ZSH/custom/plugins/zsh-completions/src fpath+=$ZSH/custom/plugins/zsh-completions/src
if [[ "$OSTYPE" == "darwin"* ]] && command -v brew &> /dev/null; then if [[ "$OSTYPE" == "darwin"* && -n "$HOMEBREW_PREFIX" ]]; then
FPATH="$(brew --prefix)/share/zsh/site-functions:${FPATH}" fpath=("$HOMEBREW_PREFIX/share/zsh/site-functions" ${fpath:#$HOMEBREW_PREFIX/share/zsh/site-functions})
fi fi
mkdir -p ~/.cache/zsh
autoload -U compinit && compinit -C -d ~/.cache/zsh/.zcompdump
SAVEHIST=50000 SAVEHIST=50000
cheat() { cheat() {
+20
View File
@@ -214,6 +214,26 @@ HOME="$pyenv_env_home" XDG_CONFIG_HOME="$pyenv_env_xdg" \
zsh -lc '[[ "$(command -v python3)" == "$HOME/.pyenv/shims/python3" ]]' || zsh -lc '[[ "$(command -v python3)" == "$HOME/.pyenv/shims/python3" ]]' ||
fail "pyenv Python is not restored in login zsh after the system profile" fail "pyenv Python is not restored in login zsh after the system profile"
# Interactive initialization runs once while repeated sourcing restores PATH.
mkdir -p "$pyenv_env_home/.pyenv/bin"
cat >"$pyenv_env_home/.pyenv/bin/pyenv" <<'PYENV'
#!/bin/sh
printf '%s\n' "$*" >> "$PYENV_ROOT/init-calls"
printf '%s\n' 'pyenv() { command pyenv "$@"; }'
PYENV
chmod +x "$pyenv_env_home/.pyenv/bin/pyenv"
HOME="$pyenv_env_home" PYENV_ROOT="$pyenv_env_home/.pyenv" PATH=/usr/bin:/bin \
zsh -dfic '
source "$1"
(( $+functions[pyenv] )) || exit 1
path=(/usr/bin /bin)
source "$1"
[[ $(command -v python3) == "$PYENV_ROOT/shims/python3" ]]
' zsh "$ROOT/zsh/pyenv.zsh" ||
fail "interactive pyenv initialization did not preserve its function and Python PATH"
printf '%s\n' 'init - --no-rehash zsh' | cmp -s - "$pyenv_env_home/.pyenv/init-calls" ||
fail "pyenv initialization must run once without a startup rehash"
# A later easyzsh migration must not move the login hook before the system profile. # A later easyzsh migration must not move the login hook before the system profile.
HOME="$pyenv_env_home" bash "$ROOT/deploy.sh" --home "$pyenv_env_home" --migrate-zprofile >/dev/null HOME="$pyenv_env_home" bash "$ROOT/deploy.sh" --home "$pyenv_env_home" --migrate-zprofile >/dev/null
grep -Fqx "$pyenv_login_hook" "$pyenv_env_home/.zprofile" || grep -Fqx "$pyenv_login_hook" "$pyenv_env_home/.zprofile" ||
+4 -2
View File
@@ -3,6 +3,8 @@ export PYENV_ROOT="${PYENV_ROOT:-$HOME/.pyenv}"
[[ -d "$PYENV_ROOT/bin" ]] && path=("$PYENV_ROOT/bin" ${path:#$PYENV_ROOT/bin}) [[ -d "$PYENV_ROOT/bin" ]] && path=("$PYENV_ROOT/bin" ${path:#$PYENV_ROOT/bin})
[[ -d "$PYENV_ROOT/shims" ]] && path=("$PYENV_ROOT/shims" ${path:#$PYENV_ROOT/shims}) [[ -d "$PYENV_ROOT/shims" ]] && path=("$PYENV_ROOT/shims" ${path:#$PYENV_ROOT/shims})
export PATH export PATH
if [[ -o interactive ]] && command -v pyenv &> /dev/null; then # Login profiles can reapply PATH without repeating shell integration.
eval "$(pyenv init - zsh)" # Run `pyenv rehash` after installing entry points through `python -m pip`.
if [[ -o interactive ]] && (( ! $+functions[pyenv] )) && command -v pyenv &> /dev/null; then
eval "$(pyenv init - --no-rehash zsh)"
fi fi