You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.4 KiB
56 lines
1.4 KiB
# vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8 |
|
################################################################ |
|
# Color functions |
|
# This file holds some color-functions for |
|
# the powerlevel9k-ZSH-theme |
|
# https://github.com/bhilburn/powerlevel9k |
|
################################################################ |
|
|
|
# Get numerical color codes. That way we translate ANSI codes |
|
# into ZSH-Style color codes. |
|
function getColorCode() { |
|
# Check if given value is already numerical |
|
if [[ "$1" = <-> ]]; then |
|
# ANSI color codes distinguish between "foreground" |
|
# and "background" colors. We don't need to do that, |
|
# as ZSH uses a 256 color space anyway. |
|
if [[ "$1" = <8-15> ]]; then |
|
echo $(($1 - 8)) |
|
else |
|
echo "$1" |
|
fi |
|
else |
|
typeset -A codes |
|
codes=( |
|
'black' '000' |
|
'red' '001' |
|
'green' '002' |
|
'yellow' '003' |
|
'blue' '004' |
|
'magenta' '005' |
|
'cyan' '006' |
|
'white' '007' |
|
) |
|
|
|
# Strip eventual "bg-" prefixes |
|
1=${1#bg-} |
|
# Strip eventual "fg-" prefixes |
|
1=${1#fg-} |
|
# Strip eventual "br" prefixes ("bright" colors) |
|
1=${1#br} |
|
echo $codes[$1] |
|
fi |
|
} |
|
|
|
# Check if two colors are equal, even if one is specified as ANSI code. |
|
function isSameColor() { |
|
if [[ "$1" == "NONE" || "$2" == "NONE" ]]; then |
|
return 1 |
|
fi |
|
|
|
local color1=$(getColorCode "$1") |
|
local color2=$(getColorCode "$2") |
|
|
|
return $(( color1 != color2 )) |
|
} |
|
|
|
|