From 7007770cb5bfcac4208bb77eb229ceb986f9f32f Mon Sep 17 00:00:00 2001 From: ADAM David Alan Martin Date: Sat, 4 Jun 2022 09:10:51 -0400 Subject: [PATCH] Add 12-bit color support. --- bin/__build_sgr_code | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/bin/__build_sgr_code b/bin/__build_sgr_code index 04b26f9..eba9f6f 100755 --- a/bin/__build_sgr_code +++ b/bin/__build_sgr_code @@ -120,10 +120,14 @@ function ext_color() function rgb_color() { + color=$1 + case $1 in + [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) color=${1:0:1}${1:0:1}${1:1:1}${1:1:1}${1:2:1}${1:2:1} ;; + esac # First split off the red, green, and blue components... - red_hex=${1:0:2} - green_hex=${1:2:2} - blue_hex=${1:4:2} + red_hex=${color:0:2} + green_hex=${color:2:2} + blue_hex=${color:4:2} # Convert to decimal... red_dec=$((16#${red_hex})) @@ -297,14 +301,20 @@ do ansi:*) make_color 0 ansi_color ${1:5} ;; ext:*) make_color 0 ext_color ${1:4} ;; + # 12-bit color also supported + [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 0 rgb_color $1 ;; [0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 0 rgb_color $1 ;; fg:ansi:*) make_color 0 ansi_color ${1:8} ;; fg:ext:*) make_color 0 ext_color ${1:7} ;; + # 12-bit color also supported + fg:[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 0 rgb_color ${1:3} ;; fg:[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 0 rgb_color ${1:3} ;; bg:ansi:*) make_color 1 ansi_color ${1:8} ;; bg:ext:*) make_color 1 ext_color ${1:7} ;; + # 12-bit color also supported + bg:[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 1 rgb_color ${1:3} ;; bg:[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]) make_color 1 rgb_color ${1:3} ;; fg:*) make_color 0 named_color ${1:3} ;;