aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xinternal/p10k.zsh7
-rwxr-xr-xpowerlevel9k.zsh-theme64
2 files changed, 38 insertions, 33 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 6f97e4cf..eef6da58 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -27,13 +27,6 @@ if ! autoload -U is-at-least || ! is-at-least 5.1; then
return 1
fi
-if (( $+_P9K_SOURCED )); then
- prompt_powerlevel9k_setup
- return
-fi
-
-readonly _P9K_SOURCED=1
-
source "${_p9k_installation_dir}/functions/utilities.zsh"
source "${_p9k_installation_dir}/functions/icons.zsh"
source "${_p9k_installation_dir}/functions/colors.zsh"
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 97505a6c..033f86d3 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -20,32 +20,44 @@
#zstyle ':vcs_info:*+*:*' debug true
#set -o xtrace
-'builtin' 'typeset' "_p9k_aliases=$(
- 'builtin' 'alias' '-rL'
- 'builtin' 'alias' '-gL'
- 'builtin' 'alias' '-sL')"
-
-'builtin' 'unalias' '-m' '*'
-
-_p9k_installation_dir=''
-
-if [[ -n $POWERLEVEL9K_INSTALLATION_DIR ]]; then
- _p9k_installation_dir=${POWERLEVEL9K_INSTALLATION_DIR:A}
-else
- if [[ ${(%):-%N} == '(eval)' ]]; then
- if [[ $0 == '-antigen-load' && -r powerlevel9k.zsh-theme ]]; then
- # Antigen uses eval to load things so it can change the plugin (!!)
- # https://github.com/zsh-users/antigen/issues/581
- _p9k_installation_dir=$PWD
- else
- >&2 print -P '%F{red}[ERROR]%f Powerlevel10k cannot figure out its installation directory.'
- >&2 print -P 'Please set %F{green}POWERLEVEL9K_INSTALLATION_DIR.%f'
+() {
+ 'builtin' 'emulate' '-L' 'zsh'
+
+ 'builtin' 'local' "_p9k_aliases=$(
+ 'builtin' 'alias' '-rL'
+ 'builtin' 'alias' '-gL'
+ 'builtin' 'alias' '-sL')"
+
+ 'builtin' 'unalias' '-m' '*'
+
+ {
+ if (( $+_p9k_sourced )); then
+ prompt_powerlevel9k_setup
+ return
fi
- else
- _p9k_installation_dir=${${(%):-%x}:A:h}
- fi
-fi
+ typeset -gr _p9k_sourced=1
+ typeset -g _p9k_installation_dir=''
-[[ -n $_p9k_installation_dir ]] && source $_p9k_installation_dir/internal/p10k.zsh
+ if [[ -n $POWERLEVEL9K_INSTALLATION_DIR ]]; then
+ _p9k_installation_dir=${POWERLEVEL9K_INSTALLATION_DIR:A}
+ else
+ if [[ ${(%):-%N} == '(eval)' ]]; then
+ if [[ $0 == '-antigen-load' && -r powerlevel9k.zsh-theme ]]; then
+ # Antigen uses eval to load things so it can change the plugin (!!)
+ # https://github.com/zsh-users/antigen/issues/581
+ _p9k_installation_dir=$PWD
+ else
+ >&2 print -P '%F{red}[ERROR]%f Powerlevel10k cannot figure out its installation directory.'
+ >&2 print -P 'Please set %F{green}POWERLEVEL9K_INSTALLATION_DIR.%f'
+ return 1
+ fi
+ else
+ _p9k_installation_dir=${${(%):-%x}:A:h}
+ fi
+ fi
-eval "$_p9k_aliases"
+ source $_p9k_installation_dir/internal/p10k.zsh
+ } always {
+ eval "$_p9k_aliases"
+ }
+}