aboutsummaryrefslogtreecommitdiff
path: root/internal/p10k.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-07-09 13:40:31 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-07-09 13:40:31 +0300
commitba41bb34750aae64350af39e6b0069d319897355 (patch)
tree3a6ee64d081893e4b1080b19e4ae7a2524838056 /internal/p10k.zsh
parent996316a6fcc785af3d765fcbfb7110a67c4a7746 (diff)
add per-state overrides and fallbacks for the generic formatting options
Diffstat (limited to 'internal/p10k.zsh')
-rwxr-xr-xinternal/p10k.zsh196
1 files changed, 124 insertions, 72 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 17b89159..fbdba306 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -75,45 +75,85 @@ _p9k_cache_get() {
[[ -n $v ]] && _P9K_CACHE_VAL=("${(@0)${v[1,-2]}}")
}
-typeset -gA _p9k_icon_cache=()
+typeset -ga _P9K_LEFT_JOIN=(1)
+typeset -ga _P9K_RIGHT_JOIN=(1)
+
+# _p9k_param prompt_foo_BAR BACKGROUND red
+_p9k_param() {
+ local key="_p9k_param ${(pj:\0:)*}"
+ _P9K_RETVAL=$_P9K_CACHE[key]
+ if [[ -n $_P9K_RETVAL ]]; then
+ _P9K_RETVAL[-1,-1]=''
+ else
+ if [[ $1 == (#b)prompt_([a-z0-9_]#)(*) ]]; then
+ local var=POWERLEVEL9K_${(U)match[1]}$match[2]_$2
+ if (( $+parameters[$var] )); then
+ _P9K_RETVAL=${(P)var}
+ else
+ var=POWERLEVEL9K_${(U)match[1]%_}_$2
+ if (( $+parameters[$var] )); then
+ _P9K_RETVAL=${(P)var}
+ else
+ var=POWERLEVEL9K_$2
+ if (( $+parameters[$var] )); then
+ _P9K_RETVAL=${(P)var}
+ else
+ _P9K_RETVAL=$3
+ fi
+ fi
+ fi
+ else
+ local var=POWERLEVEL9K_$2
+ if (( $+parameters[$var] )); then
+ _P9K_RETVAL=${(P)var}
+ else
+ _P9K_RETVAL=$3
+ fi
+ fi
+ _P9K_CACHE[$key]=${_P9K_RETVAL}.
+ fi
+}
-# Sets _P9K_RETVAL to the icon whose name is supplied via $1.
+# _p9k_get_icon prompt_foo_BAR BAZ_ICON
_p9k_get_icon() {
- _P9K_RETVAL=$_p9k_icon_cache[$1]
+ local key="_p9k_param ${(pj:\0:)*}"
+ _P9K_RETVAL=$_P9K_CACHE[key]
if [[ -n $_P9K_RETVAL ]]; then
_P9K_RETVAL[-1,-1]=''
else
- if [[ $1 == $'\1'* ]]; then
- _P9K_RETVAL=${1[2,-1]}
+ if [[ $2 == $'\1'* ]]; then
+ _P9K_RETVAL=${2[2,-1]}
else
- local x=POWERLEVEL9K_$1
- (( $+parameters[$x] )) && x=${(P)x} || x=$icons[$1]
- _P9K_RETVAL=${(g::)x}
+ _p9k_param "$@" $icons[$2]
+ _P9K_RETVAL=${(g::)_P9K_RETVAL}
[[ $_P9K_RETVAL != $'\b'? ]] || _P9K_RETVAL="%{$_P9K_RETVAL%}" # penance for past sins
fi
- _p9k_icon_cache[$1]=${_P9K_RETVAL}.
+ _P9K_CACHE[$key]=${_P9K_RETVAL}.
fi
}
-typeset -ga _P9K_LEFT_JOIN=(1)
-typeset -ga _P9K_RIGHT_JOIN=(1)
-
_p9k_translate_color() {
- if [[ $1 == <-> ]]; then # decimal color code: 255
+ if [[ $1 == <-> ]]; then # decimal color code: 255
_P9K_RETVAL=$1
- elif [[ $1 == '#'* ]]; then # hexademical color code: #ffffff
+ elif [[ $1 == '#'[[:xdigit:]]## ]]; then # hexademical color code: #ffffff
_P9K_RETVAL=$1
- else # named color: red
+ else # named color: red
# Strip prifixes if there are any.
_P9K_RETVAL=$__P9K_COLORS[${${${1#bg-}#fg-}#br}]
fi
}
-# Resolves a color to its numerical value, or an empty string. Communicates the result back
-# by setting _P9K_RETVAL.
+# _p9k_param prompt_foo_BAR BACKGROUND red
_p9k_color() {
- local user_var=POWERLEVEL9K_${(U)${2}#prompt_}_${3}
- _p9k_translate_color ${${(P)user_var}:-${1}}
+ local key="_p9k_color ${(pj:\0:)*}"
+ _P9K_RETVAL=$_P9K_CACHE[key]
+ if [[ -n $_P9K_RETVAL ]]; then
+ _P9K_RETVAL[-1,-1]=''
+ else
+ _p9k_param "$@"
+ _p9k_translate_color $_P9K_RETVAL
+ _P9K_CACHE[$key]=${_P9K_RETVAL}.
+ fi
}
_p9k_background() {
@@ -147,22 +187,22 @@ _p9k_escape() {
set_default POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS " "
left_prompt_segment() {
if ! _p9k_cache_get "$0" "$1" "$2" "$3" "$4" "$5"; then
- _p9k_color $3 $1 BACKGROUND
+ _p9k_color $1 BACKGROUND $3
local bg_color=$_P9K_RETVAL
_p9k_background $bg_color
local bg=$_P9K_RETVAL
- _p9k_color $4 $1 FOREGROUND
+ _p9k_color $1 FOREGROUND $4
local fg_color=$_P9K_RETVAL
_p9k_foreground $fg_color
local fg=$_P9K_RETVAL
- _p9k_get_icon LEFT_SUBSEGMENT_SEPARATOR
+ _p9k_get_icon $1 LEFT_SUBSEGMENT_SEPARATOR
local subsep=$_P9K_RETVAL
local icon_
if [[ -n $5 ]]; then
- _p9k_get_icon $5
+ _p9k_get_icon $1 $5
_p9k_escape $_P9K_RETVAL
icon_=$_P9K_RETVAL
fi
@@ -202,7 +242,7 @@ left_prompt_segment() {
else
_P9K_T+=$bg$fg$subsep$style$space # 3
fi
- _p9k_get_icon LEFT_SEGMENT_SEPARATOR
+ _p9k_get_icon $1 LEFT_SEGMENT_SEPARATOR
_P9K_T+=$bg$_P9K_RETVAL$style$space # 4
local p=
@@ -214,10 +254,11 @@ left_prompt_segment() {
p+="\${_P9K_I::=$2}\${_P9K_BG::=$bg_color}"
- local icon_exp=POWERLEVEL9K_${state}_VISUAL_IDENTIFIER_EXPANSION
- (( $+parameters[$icon_exp] )) && icon_exp=${(P)icon_exp} || icon_exp='${P9K_VISUAL_IDENTIFIER}'
- local content_exp=POWERLEVEL9K_${state}_CONTENT_EXPANSION
- (( $+parameters[$content_exp] )) && content_exp=${(P)content_exp} || content_exp='${P9K_CONTENT}'
+ _p9k_param $1 VISUAL_IDENTIFIER_EXPANSION '${P9K_VISUAL_IDENTIFIER}'
+ local icon_exp=$_P9K_RETVAL
+
+ _p9k_param $1 CONTENT_EXPANSION '${P9K_CONTENT}'
+ local content_exp=$_P9K_RETVAL
if [[ $icon_exp == '${P9K_VISUAL_IDENTIFIER}' && $content_exp == '${P9K_CONTENT}' ]]; then
p+="\${_P9K_V::=$icon_"
@@ -231,20 +272,31 @@ left_prompt_segment() {
p+='}+}'
- _p9k_get_icon ${state}_PREFIX
+ _p9k_param $1 PREFIX ''
+ _P9K_RETVAL=${(g::)_P9K_RETVAL}
_p9k_escape $_P9K_RETVAL
p+="%b\${_P9K_F}\${_P9K_T[\$_P9K_N]}$_P9K_RETVAL"
[[ $_P9K_RETVAL == *%* ]] && local -i need_style=1 || local -i need_style=0
- _p9k_color $fg_color $1 VISUAL_IDENTIFIER_COLOR
+ _p9k_color $1 VISUAL_IDENTIFIER_COLOR $fg_color
_p9k_foreground $_P9K_RETVAL
_p9k_escape_rcurly %b$bg$_P9K_RETVAL
[[ $_P9K_RETVAL != $style_ || $need_style == 1 ]] && p+=$_P9K_RETVAL
p+="\$_P9K_V"
- p+='${${(%):-$_P9K_V%1(l.${(%):-$_P9K_C%1(l. .x)}.x)}[-1]:#x}'
+ _p9k_param $1 LEFT_SEGMENT_ICON_SEPARATOR ' '
+ if [[ -n $_P9K_RETVAL ]]; then
+ local z=$'\1'
+ if [[ $_P9K_RETVAL == *%* ]]; then
+ _P9K_RETVAL+=$style
+ _P9K_RETVAL=${_P9K_RETVAL//\%/%%%%}
+ fi
+ _p9k_escape $_P9K_RETVAL
+ p+="\${\${(%):-\$_P9K_V%1(l$z\${(%):-\$_P9K_C%1(l$z.$_P9K_RETVAL$z.)}$z.)}##*.}"
+ fi
- _p9k_get_icon ${state}_SUFFIX
+ _p9k_param $1 SUFFIX ''
+ _P9K_RETVAL=${(g::)_P9K_RETVAL}
_p9k_escape $_P9K_RETVAL
p+="\${_P9K_C}$style_$_P9K_RETVAL"
[[ $_P9K_RETVAL == *%* ]] && p+=$style_
@@ -265,27 +317,27 @@ left_prompt_segment() {
set_default POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS " "
right_prompt_segment() {
if ! _p9k_cache_get "$0" "$1" "$2" "$3" "$4" "$5"; then
- _p9k_color $3 $1 BACKGROUND
+ _p9k_color $1 BACKGROUND $3
local bg_color=$_P9K_RETVAL
_p9k_background $bg_color
local bg=$_P9K_RETVAL
- _p9k_color $4 $1 FOREGROUND
+ _p9k_color $1 FOREGROUND $4
local fg_color=$_P9K_RETVAL
_p9k_foreground $fg_color
local fg=$_P9K_RETVAL
- _p9k_get_icon RIGHT_SUBSEGMENT_SEPARATOR
+ _p9k_get_icon $1 RIGHT_SUBSEGMENT_SEPARATOR
local subsep=$_P9K_RETVAL
local icon_style icon
local -i has_icon
if [[ -n $5 ]]; then
- _p9k_get_icon $5
+ _p9k_get_icon $1 $5
if [[ -n $_P9K_RETVAL ]]; then
_p9k_escape_rcurly $_P9K_RETVAL
icon=$_P9K_RETVAL
- _p9k_color $fg_color $1 VISUAL_IDENTIFIER_COLOR
+ _p9k_color $1 VISUAL_IDENTIFIER_COLOR $fg_color
_p9k_foreground $_P9K_RETVAL
_p9k_escape_rcurly %b$bg$_P9K_RETVAL
icon_style=$_P9K_RETVAL
@@ -297,8 +349,8 @@ right_prompt_segment() {
# identical.
local t=$#_P9K_T
- _p9k_get_icon RIGHT_SEGMENT_SEPARATOR
- _P9K_T+="%F{$bg_color}$_P9K_RETVAL$bg$POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS$fg" # 1
+ _p9k_get_icon $1 RIGHT_SEGMENT_SEPARATOR
+ _P9K_T+="%F{$bg_color}$_P9K_RETVAL$bg$POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS$fg" # 1 # TODO: use _p9k_get_icon prompt_eol RIGHT_SEGMENT_SEPARATOR here
_P9K_T+=$fg # 2
if [[ -z $fg_color ]]; then
_p9k_foreground $DEFAULT_COLOR
@@ -320,7 +372,7 @@ right_prompt_segment() {
_p9k_escape_rcurly %b$bg$fg
local style=$_P9K_RETVAL
- _p9k_get_icon ${state}_PREFIX
+ _p9k_get_icon $1 ${state}_PREFIX
_p9k_escape_rcurly $_P9K_RETVAL
pre+="\${_P9K_T[\$_P9K_N]}$_P9K_RETVAL$style\${_P9K_C}$icon_style"
@@ -334,7 +386,7 @@ right_prompt_segment() {
local tr=POWERLEVEL9K_${state}_CONTENT_EXPANSION
(( $+parameters[$tr] )) && tr=${(P)tr} || tr='${P9K_CONTENT}'
- _p9k_get_icon ${state}_SUFFIX
+ _p9k_get_icon $1 ${state}_SUFFIX
_p9k_escape_rcurly $_P9K_RETVAL
local post="$icon$style$_P9K_RETVAL$style$space\${\${_P9K_I::=$2}+}\${\${_P9K_BG::=$bg_color}+}}"
@@ -410,7 +462,7 @@ typeset -gi _P9K_X _P9K_Y _P9K_M _P9K_RPROMPT_DONE _P9K_IND
# Returns 1 if the cursor is at the very end of the screen.
function _p9k_left_prompt_end_line() {
- _p9k_get_icon LEFT_SEGMENT_SEPARATOR
+ _p9k_get_icon prompt_eol LEFT_SEGMENT_SEPARATOR
_p9k_escape_rcurly $_P9K_RETVAL
_P9K_PROMPT+="%k%b"
_P9K_PROMPT+="\${_P9K_N::=}"
@@ -436,7 +488,7 @@ prompt_newline() {
_p9k_left_prompt_end_line && _P9K_PROMPT+=$'\n'
_P9K_PROMPT+='${${_P9K_BG::=NONE}+}'
if [[ $POWERLEVEL9K_PROMPT_ON_NEWLINE == true ]]; then
- _p9k_get_icon MULTILINE_NEWLINE_PROMPT_PREFIX
+ _p9k_get_icon '' MULTILINE_NEWLINE_PROMPT_PREFIX
_P9K_PROMPT+=$_P9K_RETVAL
fi
}
@@ -975,10 +1027,10 @@ prompt_dir() {
fi
local style=%b
- _p9k_color blue $state BACKGROUND
+ _p9k_color $state BACKGROUND blue
_p9k_background $_P9K_RETVAL
style+=$_P9K_RETVAL
- _p9k_color "$DEFAULT_COLOR" $state FOREGROUND
+ _p9k_color $state FOREGROUND "$DEFAULT_COLOR"
_p9k_foreground $_P9K_RETVAL
style+=$_P9K_RETVAL
@@ -1809,7 +1861,7 @@ function _p9k_vcs_render() {
_p9k_vcs_status_restore $_P9K_RETVAL
state=LOADING
else
- if [[ -n $POWERLEVEL9K_VCS_LOADING_TEXT ]] || { _p9k_get_icon VCS_LOADING_ICON; [[ -n $_P9K_RETVAL ]] }; then
+ if [[ -n $POWERLEVEL9K_VCS_LOADING_TEXT ]] || { _p9k_get_icon prompt_vcs_LOADING VCS_LOADING_ICON; [[ -n $_P9K_RETVAL ]] }; then
$1_prompt_segment prompt_vcs_LOADING $2 "${vcs_states[loading]}" "$DEFAULT_COLOR" VCS_LOADING_ICON 0 '' "$POWERLEVEL9K_VCS_LOADING_TEXT"
fi
return 0
@@ -1890,10 +1942,10 @@ function _p9k_vcs_render() {
: ${state:=CLEAN}
local style=%b
- _p9k_color "${vcs_states[${(L)state}]}" prompt_vcs_$state BACKGROUND
+ _p9k_color prompt_vcs_$state BACKGROUND "${vcs_states[${(L)state}]}"
_p9k_background $_P9K_RETVAL
style+=$_P9K_RETVAL
- _p9k_color "$DEFAULT_COLOR" prompt_vcs_$state FOREGROUND
+ _p9k_color prompt_vcs_$state FOREGROUND "$DEFAULT_COLOR"
_p9k_foreground $_P9K_RETVAL
style+=$_P9K_RETVAL
@@ -1905,18 +1957,18 @@ function _p9k_vcs_render() {
local ws
if [[ $POWERLEVEL9K_SHOW_CHANGESET == true || -z $VCS_STATUS_LOCAL_BRANCH ]]; then
- _p9k_get_icon VCS_COMMIT_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_COMMIT_ICON
_$0_fmt COMMIT "$_P9K_RETVAL${${VCS_STATUS_COMMIT:0:$POWERLEVEL9K_VCS_INTERNAL_HASH_LENGTH}:-HEAD}"
ws=' '
fi
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
- _p9k_get_icon VCS_BRANCH_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_BRANCH_ICON
_$0_fmt BRANCH "$ws$_P9K_RETVAL${VCS_STATUS_LOCAL_BRANCH//\%/%%}"
fi
if [[ $POWERLEVEL9K_VCS_HIDE_TAGS == false && -n $VCS_STATUS_TAG ]]; then
- _p9k_get_icon VCS_TAG_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_TAG_ICON
_$0_fmt TAG " $_P9K_RETVAL${VCS_STATUS_TAG//\%/%%}"
fi
@@ -1925,40 +1977,40 @@ function _p9k_vcs_render() {
else
if [[ -n $VCS_STATUS_REMOTE_BRANCH &&
$VCS_STATUS_LOCAL_BRANCH != $VCS_STATUS_REMOTE_BRANCH ]]; then
- _p9k_get_icon VCS_REMOTE_BRANCH_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_REMOTE_BRANCH_ICON
_$0_fmt REMOTE_BRANCH " $_P9K_RETVAL${VCS_STATUS_REMOTE_BRANCH//\%/%%}"
fi
if [[ $VCS_STATUS_HAS_STAGED == 1 || $VCS_STATUS_HAS_UNSTAGED == 1 || $VCS_STATUS_HAS_UNTRACKED == 1 ]]; then
- _p9k_get_icon VCS_DIRTY_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_DIRTY_ICON
_$0_fmt DIRTY "$_P9K_RETVAL"
if [[ $VCS_STATUS_HAS_STAGED == 1 ]]; then
- _p9k_get_icon VCS_STAGED_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_STAGED_ICON
(( ${POWERLEVEL9K_VCS_MAX_NUM_STAGED:-$POWERLEVEL9K_VCS_STAGED_MAX_NUM} != 1 )) && _P9K_RETVAL+=$VCS_STATUS_NUM_STAGED
_$0_fmt STAGED " $_P9K_RETVAL"
fi
if [[ $VCS_STATUS_HAS_UNSTAGED == 1 ]]; then
- _p9k_get_icon VCS_UNSTAGED_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_UNSTAGED_ICON
(( ${POWERLEVEL9K_VCS_MAX_NUM_UNSTAGED:-$POWERLEVEL9K_VCS_UNSTAGED_MAX_NUM} != 1 )) && _P9K_RETVAL+=$VCS_STATUS_NUM_UNSTAGED
_$0_fmt UNSTAGED " $_P9K_RETVAL"
fi
if [[ $VCS_STATUS_HAS_UNTRACKED == 1 ]]; then
- _p9k_get_icon VCS_UNTRACKED_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_UNTRACKED_ICON
(( ${POWERLEVEL9K_VCS_MAX_NUM_UNTRACKED:-$POWERLEVEL9K_VCS_UNTRACKED_MAX_NUM} != 1 )) && _P9K_RETVAL+=$VCS_STATUS_NUM_UNTRACKED
_$0_fmt UNTRACKED " $_P9K_RETVAL"
fi
fi
if [[ $VCS_STATUS_COMMITS_BEHIND -gt 0 ]]; then
- _p9k_get_icon VCS_INCOMING_CHANGES_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_INCOMING_CHANGES_ICON
(( POWERLEVEL9K_VCS_COMMITS_BEHIND_MAX_NUM != 1 )) && _P9K_RETVAL+=$VCS_STATUS_COMMITS_BEHIND
_$0_fmt INCOMING_CHANGES " $_P9K_RETVAL"
fi
if [[ $VCS_STATUS_COMMITS_AHEAD -gt 0 ]]; then
- _p9k_get_icon VCS_OUTGOING_CHANGES_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_OUTGOING_CHANGES_ICON
(( POWERLEVEL9K_VCS_COMMITS_AHEAD_MAX_NUM != 1 )) && _P9K_RETVAL+=$VCS_STATUS_COMMITS_AHEAD
_$0_fmt OUTGOING_CHANGES " $_P9K_RETVAL"
fi
if [[ $VCS_STATUS_STASHES -gt 0 ]]; then
- _p9k_get_icon VCS_STASH_ICON
+ _p9k_get_icon prompt_vcs_$state VCS_STASH_ICON
_$0_fmt STASH " $_P9K_RETVAL$VCS_STATUS_STASHES"
fi
fi
@@ -2312,7 +2364,7 @@ build_left_prompt() {
((++index))
done
- _p9k_get_icon LEFT_SEGMENT_END_SEPARATOR
+ _p9k_get_icon '' LEFT_SEGMENT_END_SEPARATOR
_p9k_left_prompt_end_line $_P9K_RETVAL
}
@@ -2647,7 +2699,7 @@ _p9k_init() {
function _$0_set_os() {
OS=$1
- _p9k_get_icon $2
+ _p9k_get_icon prompt_os_icon $2
OS_ICON=$_P9K_RETVAL
}
@@ -2773,14 +2825,14 @@ _p9k_init() {
fi
if [[ $POWERLEVEL9K_SHOW_RULER == true ]]; then
- _p9k_get_icon RULER_CHAR
+ _p9k_get_icon '' RULER_CHAR
local ruler_char=$_P9K_RETVAL
_p9k_prompt_length $ruler_char
if (( _P9K_RETVAL == 1 && $#ruler_char == 1 )); then
- _p9k_color "" prompt_ruler BACKGROUND
+ _p9k_color prompt_ruler BACKGROUND ""
_p9k_background $_P9K_RETVAL
_P9K_LEFT_PREFIX+=%b$_P9K_RETVAL
- _p9k_color "" prompt_ruler FOREGROUND
+ _p9k_color prompt_ruler FOREGROUND ""
_p9k_foreground $_P9K_RETVAL
_P9K_LEFT_PREFIX+=$_P9K_RETVAL
[[ $ruler_char == '.' ]] && local sep=',' || local sep='.'
@@ -2810,21 +2862,21 @@ _p9k_init() {
if [[ -n $POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL ]]; then
_P9K_T[1]+="%f$POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL"
fi
- _p9k_get_icon LEFT_SEGMENT_SEPARATOR
+ _p9k_get_icon prompt_eol LEFT_SEGMENT_SEPARATOR
_P9K_T[1]+="%f$_P9K_RETVAL"
_p9k_prompt_overflow_bug && _P9K_T[6]+='%{%G%}'
_P9K_RIGHT_SUFFIX+='%f%b%k'
_P9K_RIGHT_PREFIX+='%f%b%k'
- _p9k_get_icon RIGHT_SEGMENT_END_SEPARATOR
+ _p9k_get_icon '' RIGHT_SEGMENT_END_SEPARATOR
_p9k_escape_rcurly $_P9K_RETVAL
_P9K_RIGHT_PREFIX+=$_P9K_RETVAL
if [[ $POWERLEVEL9K_PROMPT_ON_NEWLINE == true ]]; then
- _p9k_get_icon MULTILINE_FIRST_PROMPT_PREFIX
+ _p9k_get_icon '' MULTILINE_FIRST_PROMPT_PREFIX
_P9K_LEFT_PREFIX+="$_P9K_RETVAL%f%b%k"
- _p9k_get_icon MULTILINE_LAST_PROMPT_PREFIX
+ _p9k_get_icon '' MULTILINE_LAST_PROMPT_PREFIX
_P9K_LEFT_SUFFIX+=$'\n'$_P9K_RETVAL'%f%b%k'
if [[ $POWERLEVEL9K_RPROMPT_ON_NEWLINE != true && -o TRANSIENT_RPROMPT ]]; then
if is-at-least 5.3; then
@@ -2891,13 +2943,13 @@ _p9k_init() {
POWERLEVEL9K_DIR_CLASSES=("${x[@]}")
else
typeset -ga POWERLEVEL9K_DIR_CLASSES=()
- _p9k_get_icon ETC_ICON
+ _p9k_get_icon prompt_dir_ETC ETC_ICON
POWERLEVEL9K_DIR_CLASSES+=('/etc|/etc/*' ETC "$_P9K_RETVAL")
- _p9k_get_icon HOME_ICON
+ _p9k_get_icon prompt_dir_HOME HOME_ICON
POWERLEVEL9K_DIR_CLASSES+=('~' HOME "$_P9K_RETVAL")
- _p9k_get_icon HOME_SUB_ICON
+ _p9k_get_icon prompt_dir_HOME_SUBFOLDER HOME_SUB_ICON
POWERLEVEL9K_DIR_CLASSES+=('~/*' HOME_SUBFOLDER "$_P9K_RETVAL")
- _p9k_get_icon FOLDER_ICON
+ _p9k_get_icon prompt_dir_DEFAULT FOLDER_ICON
POWERLEVEL9K_DIR_CLASSES+=('*' DEFAULT "$_P9K_RETVAL")
fi
fi