mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-12-18 05:40:07 +00:00
Merge pull request #87 from dritter/improve_same_color_segments
Add a color separater between segments of the same color.
This commit is contained in:
commit
32398beab8
1 changed files with 29 additions and 2 deletions
|
@ -129,6 +129,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" #
|
||||
|
@ -174,6 +176,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:"
|
||||
|
@ -374,6 +378,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%} "
|
||||
|
@ -393,6 +405,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).
|
||||
|
@ -415,8 +429,21 @@ right_prompt_segment() {
|
|||
local bg fg
|
||||
[[ -n $2 ]] && bg="%K{$2}" || bg="%k"
|
||||
[[ -n $3 ]] && fg="%F{$3}" || fg="%f"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
################################################################
|
||||
|
@ -670,7 +697,7 @@ prompt_longstatus() {
|
|||
[[ "$UID" -eq 0 ]] && symbols+="%{%F{yellow}%} $(print_icon 'ROOT_ICON')"
|
||||
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}$(print_icon 'BACKGROUND_JOBS_ICON')"
|
||||
|
||||
[[ -n "$symbols" ]] && $1_prompt_segment "$0" "$bg" "$DEFAULT_COLOR" "$symbols"
|
||||
[[ -n "$symbols" ]] && $1_prompt_segment "$0" "$bg" "white" "$symbols"
|
||||
}
|
||||
|
||||
# Node version
|
||||
|
|
Loading…
Reference in a new issue