@ -75,6 +75,8 @@ case $POWERLEVEL9K_MODE in
icons=(
LEFT_SEGMENT_SEPARATOR "\UE0B0" #
RIGHT_SEGMENT_SEPARATOR "\UE0B2" #
LEFT_SUBSEGMENT_SEPARATOR "\UE0B1" #
RIGHT_SUBSEGMENT_SEPARATOR "\UE0B3" #
ROOT_ICON "\UE801" #
RUBY_ICON "\UE847" #
AWS_ICON "\UE895" #
@ -116,6 +118,8 @@ case $POWERLEVEL9K_MODE in
icons=(
LEFT_SEGMENT_SEPARATOR "\uE0B0" #
RIGHT_SEGMENT_SEPARATOR "\uE0B2" #
LEFT_SUBSEGMENT_SEPARATOR "\UE0B1" #
RIGHT_SUBSEGMENT_SEPARATOR "\UE0B3" #
ROOT_ICON "\u26A1" # ⚡
RUBY_ICON ''
AWS_ICON "AWS:"
@ -313,6 +317,14 @@ left_prompt_segment() {
if [[ $CURRENT_BG != 'NONE' && $2 != $CURRENT_BG ]]; then
# Middle segment
echo -n "%{$bg%F{$CURRENT_BG}%}$(print_icon 'LEFT_SEGMENT_SEPARATOR')%{$fg%} "
elif [[ "$CURRENT_BG" == $2 ]]; then
# Middle segment with same color as previous segment
# We take the current foreground color as color for our
# subsegment (or the default color). This should have
# enough contrast.
local complement
[[ -n $3 ]] && complement=$3 || complement=$DEFAULT_COLOR
echo -n "%{$bg%F{$complement}%}$(print_icon 'LEFT_SUBSEGMENT_SEPARATOR')%{$fg%} "
else
# First segment
echo -n "%{$bg%}%{$fg%} "
@ -332,6 +344,8 @@ left_prompt_end() {
CURRENT_BG=''
}
CURRENT_RIGHT_BG='NONE'
# Begin a right prompt segment
# Takes four arguments:
# * $1: Name of the function that was orginally invoked (mandatory).
@ -354,8 +368,21 @@ right_prompt_segment() {
local bg fg
[[ -n $2 ]] && bg="%K{$2}" || bg="%k"
[[ -n $3 ]] && fg="%F{$3}" || fg="%f"
echo -n "%f%F{$2}$(print_icon 'RIGHT_SEGMENT_SEPARATOR')%f%{$bg%}%{$fg%} "
if [[ "$CURRENT_RIGHT_BG" == $2 ]]; then
# Middle segment with same color as previous segment
# We take the current foreground color as color for our
# subsegment (or the default color). This should have
# enough contrast.
local complement
[[ -n $3 ]] && complement=$3 || complement=$DEFAULT_COLOR
echo -n "%f%F{$complement}$(print_icon 'RIGHT_SUBSEGMENT_SEPARATOR')%f%{$bg%}%{$fg%} "
else
echo -n "%f%F{$2}$(print_icon 'RIGHT_SEGMENT_SEPARATOR')%f%{$bg%}%{$fg%} "
fi
[[ -n $4 ]] && echo -n "$4 "
CURRENT_RIGHT_BG=$2
}
################################################################