From 0eb7ed33ff0a3a7773c4f48560a2bbc46c0edd76 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Thu, 13 Oct 2022 15:14:55 +0200 Subject: [PATCH] bin: add more color testing scripts --- home/.local/bin/colors | 75 ++++++++++++++++++ home/.local/bin/{colortest256 => colors256} | 0 home/.local/bin/colortest | 88 ++++----------------- 3 files changed, 91 insertions(+), 72 deletions(-) create mode 100755 home/.local/bin/colors rename home/.local/bin/{colortest256 => colors256} (100%) diff --git a/home/.local/bin/colors b/home/.local/bin/colors new file mode 100755 index 0000000..5c89ff5 --- /dev/null +++ b/home/.local/bin/colors @@ -0,0 +1,75 @@ +#!/bin/sh + +print_name() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + printf '\e[%sm%s %-8s\e[0m' "$fg" "$hex" "$name" +} + +print_16colors() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + printf '\e[%sm \e[0m \e[%sm%-4s\e[0m' \ + "$bg" \ + "$fg" \ + "[${fg}m" +} + +print_256colors() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + printf '\e[48;5;%sm \e[0m \e[38;5;%sm%-9s\e[0m' \ + "$index" \ + "$index" \ + "[38;5;${index}m" +} + +print_rgb() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + printf '\e[48;2;%sm \e[0m \e[38;2;%sm%-18s\e[0m' \ + "$rgb" \ + "$rgb" \ + "[38;2;${rgb}m" +} + +print_terminfo() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + printf '%s %s %s%-13s' \ + "$(tput setab "$index")" \ + "$(tput sgr0)" \ + "$(tput setaf "$index")" \ + "tput setaf $index" +} + +print_color() { + name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" + padding=' ' + print_name "$@" + printf '%s' "$padding" + print_16colors "$@" + printf '%s' "$padding" + print_256colors "$@" + printf '%s' "$padding" + print_rgb "$@" + printf '%s' "$padding" + print_terminfo "$@" + printf '\n' +} + +# name hex index fg bg rgb +print_color Base04 '#002028' 8 90 100 '0;32;40' +print_color Base03 '#002b36' 8 90 100 '0;43;54' +print_color Base02 '#073642' 0 30 40 '7;54;66' +print_color Base01 '#586e75' 10 92 102 '88;110;117' +print_color Base00 '#657b83' 11 93 103 '101;123;131' +print_color Base0 '#839496' 12 94 104 '131;148;150' +print_color Base1 '#93a1a1' 14 96 106 '147;161;161' +print_color Base2 '#eee8d5' 7 37 47 '238;232;213' +print_color Base3 '#fdf6e3' 15 97 107 '253;246;227' +print_color Base4 '#fdf6e3' 15 97 107 '253;246;227' +print_color Red '#dc322f' 1 31 41 '220;50;47' +print_color Orange '#cb4b16' 9 91 101 '203;75;22' +print_color Yellow '#b58900' 3 33 43 '181;137;0' +print_color Green '#859900' 2 32 42 '133;153;0' +print_color Cyan '#2aa198' 6 36 46 '42;161;152' +print_color Blue '#268bd2' 4 34 44 '38;139;210' +print_color Violet '#6c71c4' 13 95 105 '108;113;196' +print_color Magenta '#d33682' 5 35 45 '211;54;130' + diff --git a/home/.local/bin/colortest256 b/home/.local/bin/colors256 similarity index 100% rename from home/.local/bin/colortest256 rename to home/.local/bin/colors256 diff --git a/home/.local/bin/colortest b/home/.local/bin/colortest index 86e7b00..46f4635 100755 --- a/home/.local/bin/colortest +++ b/home/.local/bin/colortest @@ -1,75 +1,19 @@ -#!/bin/sh +#!/usr/bin/awk -f +BEGIN { + width = 79; + for (col = 0; col < (width + 1); col++) { + r = 255 - (255 * col / width); + g = (510 * col / width); + b = (255 * col / width); -print_name() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - printf '\e[%sm%s %-8s\e[0m' "$fg" "$hex" "$name" + if (g > 255) { + g = 510 - g; + } + + printf "\033[48;2;%d;%d;%dm", r,g,b; + printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b; + printf "|\033[0m"; + } + printf "\n"; } -print_16colors() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - printf '\e[%sm \e[0m \e[%sm%-4s\e[0m' \ - "$bg" \ - "$fg" \ - "[${fg}m" -} - -print_256colors() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - printf '\e[48;5;%sm \e[0m \e[38;5;%sm%-9s\e[0m' \ - "$index" \ - "$index" \ - "[38;5;${index}m" -} - -print_rgb() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - printf '\e[48;2;%sm \e[0m \e[38;2;%sm%-18s\e[0m' \ - "$rgb" \ - "$rgb" \ - "[38;2;${rgb}m" -} - -print_terminfo() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - printf '%s %s %s%-13s' \ - "$(tput setab "$index")" \ - "$(tput sgr0)" \ - "$(tput setaf "$index")" \ - "tput setaf $index" -} - -print_color() { - name="$1" hex="$2" index="$3" fg="$4" bg="$5" rgb="$6" - padding=' ' - print_name "$@" - printf '%s' "$padding" - print_16colors "$@" - printf '%s' "$padding" - print_256colors "$@" - printf '%s' "$padding" - print_rgb "$@" - printf '%s' "$padding" - print_terminfo "$@" - printf '\n' -} - -# name hex index fg bg rgb -print_color Base04 '002028' 8 90 100 '0;32;40' -print_color Base03 '002b36' 8 90 100 '0;43;54' -print_color Base02 '073642' 0 30 40 '7;54;66' -print_color Base01 '586e75' 10 92 102 '88;110;117' -print_color Base00 '657b83' 11 93 103 '101;123;131' -print_color Base0 '839496' 12 94 104 '131;148;150' -print_color Base1 '93a1a1' 14 96 106 '147;161;161' -print_color Base2 'eee8d5' 7 37 47 '238;232;213' -print_color Base3 'fdf6e3' 15 97 107 '253;246;227' -print_color Base4 'fdf6e3' 15 97 107 '253;246;227' -print_color Red 'dc322f' 1 31 41 '220;50;47' -print_color Orange 'cb4b16' 9 91 101 '203;75;22' -print_color Yellow 'b58900' 3 33 43 '181;137;0' -print_color Green '859900' 2 32 42 '133;153;0' -print_color Cyan '2aa198' 6 36 46 '42;161;152' -print_color Blue '268bd2' 4 34 44 '38;139;210' -print_color Violet '6c71c4' 13 95 105 '108;113;196' -print_color Magenta 'd33682' 5 35 45 '211;54;130' -