mirror of
https://github.com/romkatv/powerlevel10k
synced 2024-12-12 00:56:41 +00:00
34 lines
1.6 KiB
Bash
34 lines
1.6 KiB
Bash
typeset -gr __p9k_zd=${ZDOTDIR:-$HOME}
|
|
typeset -gr __p9k_zd_u=${__p9k_zd/#(#b)$HOME(|\/*)/'~'$match[1]}
|
|
typeset -gr __p9k_cfg_basename=.p10k.zsh
|
|
typeset -gr __p9k_cfg_path=$__p9k_zd/$__p9k_cfg_basename
|
|
typeset -gr __p9k_cfg_path_u=$__p9k_zd_u/$__p9k_cfg_basename
|
|
typeset -gr __p9k_installation_dir_u=${__p9k_installation_dir/#(#b)$HOME(|\/*)/'~'$match[1]}
|
|
|
|
function _p9k_can_configure() {
|
|
emulate -L zsh
|
|
setopt err_return
|
|
[[ $1 == '-q' ]] && local -i q=1 || local -i q=0
|
|
function $0_error() {
|
|
(( q )) || print -P "%1F[ERROR]%f %Bp9k_configure%b: $1" >&2
|
|
return 1
|
|
}
|
|
{
|
|
[[ -t 0 && -t 1 ]] || $0_error "no TTY"
|
|
(( LINES >= 20 && COLUMNS >= 70 )) || $0_error "terminal size too small"
|
|
[[ -o multibyte ]] || $0_error "multibyte option is not set"
|
|
[[ "${#$(print -P '\u276F' 2>/dev/null)}" == 1 ]] || $0_error "shell doesn't support unicode"
|
|
[[ -w $__p9k_zd ]] || $0_error "$__p9k_zd_u is not writable"
|
|
[[ ! -d $__p9k_cfg_path ]] || $0_error "$__p9k_cfg_path_u is a directory"
|
|
|
|
[[ ! -e $__p9k_cfg_path || -f $__p9k_cfg_path || -h $__p9k_cfg_path ]] ||
|
|
$0_error "$__p9k_cfg_path_u is a special file"
|
|
[[ -r $__p9k_installation_dir/config/p10k-lean.zsh ]] ||
|
|
$0_error "cannot read $__p9k_installation_dir_u/config/p10k-lean.zsh"
|
|
[[ -r $__p9k_installation_dir/config/p10k-classic.zsh ]] ||
|
|
$0_error "cannot read $__p9k_installation_dir_u/config/p10k-classic.zsh"
|
|
} always {
|
|
unfunction $0_error
|
|
}
|
|
}
|