aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions/colors.zsh56
-rw-r--r--functions/utilities.zsh48
-rwxr-xr-xpowerlevel9k.zsh-theme6
3 files changed, 62 insertions, 48 deletions
diff --git a/functions/colors.zsh b/functions/colors.zsh
new file mode 100644
index 00000000..c82af9ea
--- /dev/null
+++ b/functions/colors.zsh
@@ -0,0 +1,56 @@
+# 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 ))
+}
+
diff --git a/functions/utilities.zsh b/functions/utilities.zsh
index 4c2d637a..80a38977 100644
--- a/functions/utilities.zsh
+++ b/functions/utilities.zsh
@@ -26,54 +26,6 @@ function set_default() {
defined "$varname" || typeset -g "$varname"="$default_value"
}
-# 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 ))
-}
-
# Converts large memory values into a human-readable unit (e.g., bytes --> GB)
printSizeHumanReadable() {
typeset -F 2 size
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 8804e5ca..f903efcd 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -30,6 +30,12 @@ source $(dirname "$0")/functions/icons.zsh
source $(dirname "$0")/functions/utilities.zsh
################################################################
+# Source color functions
+################################################################
+
+source $(dirname "$0")/functions/colors.zsh
+
+################################################################
# Source VCS_INFO hooks / helper functions
################################################################