2019-10-06 11:38:00 +02:00
# vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8
################################################################
# Powerlevel10k Theme
# https://github.com/romkatv/powerlevel10k
#
# Forked from Powerlevel9k Theme
# https://github.com/bhilburn/powerlevel9k
#
# Which in turn was forked from Agnoster Theme
# https://github.com/robbyrussell/oh-my-zsh/blob/74177c5320b2a1b2f8c4c695c05984b57fd7c6ea/themes/agnoster.zsh-theme
################################################################
# Temporarily change options.
'builtin' 'local' '-a' '__p9k_src_opts'
[[ ! -o 'aliases' ]] || __p9k_src_opts+=('aliases')
[[ ! -o 'sh_glob' ]] || __p9k_src_opts+=('sh_glob')
[[ ! -o 'no_brace_expand' ]] || __p9k_src_opts+=('no_brace_expand')
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
(( $+__p9k_root_dir )) || typeset -gr __p9k_root_dir=${POWERLEVEL9K_INSTALLATION_DIR:-${${(%):-%x}:A:h}}
2020-02-12 12:15:12 +02:00
(( $+__p9k_intro )) || {
# Note: leading spaces before `local` are important. Otherwise Antigen will remove `local` (!!!).
2020-02-20 13:31:29 +02:00
typeset -gr __p9k_intro_base='emulate -L zsh -o no_hist_expand -o extended_glob -o no_prompt_bang -o prompt_percent -o no_prompt_subst -o no_aliases -o no_bg_nice -o typeset_silent
2020-02-12 12:15:12 +02:00
local -a match mbegin mend
local -i MBEGIN MEND OPTIND
2020-02-20 13:31:29 +02:00
local MATCH OPTARG IFS=$'\'' \t\n\0'\'
typeset -gr __p9k_intro_locale='[[ $langinfo[CODESET] != (utf|UTF)(-|)8 ]] && _p9k_init_locale && { [[ -n $LC_ALL ]] && local LC_ALL=$__p9k_locale || local LC_CTYPE=$__p9k_locale }'
typeset -gr __p9k_intro_no_locale="${${__p9k_intro_base/ match / match reply }/ MATCH / MATCH REPLY }"
typeset -gr __p9k_intro_no_reply="$__p9k_intro_base; $__p9k_intro_locale"
typeset -gr __p9k_intro="$__p9k_intro_no_locale; $__p9k_intro_locale"
}
zmodload zsh/langinfo
function _p9k_init_locale() {
if (( ! $+__p9k_locale )); then
typeset -g __p9k_locale=
(( $+commands[locale] )) || return
local -a loc
loc=(${(@M)$(locale -a 2>/dev/null):#*.(utf|UTF)(-|)8}) || return
(( $#loc )) || return
typeset -g __p9k_locale=${loc[(r)(#i)C.UTF(-|)8]:-${loc[(r)(#i)en_US.UTF(-|)8]:-$loc[1]}}
fi
[[ -n $__p9k_locale ]]
2020-02-12 12:15:12 +02:00
}
2019-10-06 11:38:00 +02:00
() {
2020-02-01 23:03:42 +02:00
eval "$__p9k_intro"
2019-10-06 11:38:00 +02:00
if (( $+__p9k_sourced )); then
2020-01-27 10:33:01 +02:00
(( $+functions[_p9k_setup] )) && _p9k_setup
2019-11-04 10:07:06 +02:00
return 0
2019-10-06 11:38:00 +02:00
fi
typeset -gr __p9k_dump_file=${XDG_CACHE_HOME:-~/.cache}/p10k-dump-${(%):-%n}.zsh
2019-10-20 10:36:41 +02:00
if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file ]] && (( ! $+functions[_p9k_preinit] )) && source $__p9k_dump_file 2>/dev/null && (( $+functions[_p9k_preinit] )); then
2019-10-06 11:38:00 +02:00
_p9k_preinit
fi
2020-04-05 07:04:58 +02:00
typeset -gr __p9k_sourced=9
2020-04-05 06:54:20 +02:00
if [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]]; then
if [[ -w $__p9k_root_dir && -w $__p9k_root_dir/internal && -w $__p9k_root_dir/gitstatus ]]; then
local f
for f in $__p9k_root_dir/{powerlevel9k.zsh-theme,powerlevel10k.zsh-theme,internal/p10k.zsh,internal/icons.zsh,internal/configure.zsh,internal/worker.zsh,internal/parser.zsh,gitstatus/gitstatus.plugin.zsh}; do
[[ $f.zwc -nt $f ]] && continue
zmodload -F zsh/files b:zf_mv b:zf_rm
local tmp=$f.tmp.$$.zwc
{
2020-04-05 07:04:58 +02:00
# The first error suppression is a workaround for the bug in
# https://aur.archlinux.org/packages/zsh-theme-powerlevel10k-git/.
# This package misses some source files.
#
# The second error suppression is due to
# https://github.com/romkatv/powerlevel10k/issues/610.
# I've no idea what actually happens there.
zcompile -R -- $tmp $f 2>/dev/null && zf_mv -f -- $tmp $f.zwc 2>/dev/null
2020-04-05 06:54:20 +02:00
} always {
2020-04-05 07:04:58 +02:00
(( $? )) && zf_rm -f -- $tmp 2>/dev/null
2020-04-05 06:54:20 +02:00
}
done
fi
2019-10-06 11:38:00 +02:00
fi
source $__p9k_root_dir/internal/p10k.zsh || true
}
2020-01-26 17:54:52 +02:00
(( $+__p9k_instant_prompt_active )) && unsetopt prompt_cr prompt_sp || setopt prompt_cr prompt_sp
2019-10-19 14:55:38 +02:00
2019-10-06 11:38:00 +02:00
(( ${#__p9k_src_opts} )) && setopt ${__p9k_src_opts[@]}
'builtin' 'unset' '__p9k_src_opts'