From: Samir Benmendil Date: Wed, 12 May 2021 19:00:13 +0000 (+0100) Subject: bin: add colortest{,256} to print out a bunch of terminal colours X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/d750b6fdc5c91bd8b1ff6360c8937ef7e764d5a0 bin: add colortest{,256} to print out a bunch of terminal colours --- diff --git a/bin/colortest b/bin/colortest new file mode 100755 index 0000000..d45f8d9 --- /dev/null +++ b/bin/colortest @@ -0,0 +1,27 @@ +#!/bin/bash +# https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html +# +# This file echoes a bunch of color codes to the +# terminal to demonstrate what's available. Each +# line is the color code of one forground color, +# out of 17 (default + 16 escapes), followed by a +# test use of that color on all nine background +# colors (default + 8 escapes). +# + +T='gYw' # The test text + +echo -e "\n 40m 41m 42m 43m\ + 44m 45m 46m 47m"; + +for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ + '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ + ' 36m' '1;36m' ' 37m' '1;37m'; + do FG=${FGs// /} + echo -en " $FGs \033[$FG $T " + for BG in 40m 41m 42m 43m 44m 45m 46m 47m; + do echo -en "$EINS \033[$FG\033[$BG $T \033[0m"; + done + echo; +done +echo diff --git a/bin/colortest256 b/bin/colortest256 new file mode 100755 index 0000000..9f97c73 --- /dev/null +++ b/bin/colortest256 @@ -0,0 +1,53 @@ +#!/bin/bash +# https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html +# https://gist.github.com/XVilka/8346728#gistcomment-3528771 + +T='::' # The test text + +function echo_block() { + local fs=$1 + local bs=$2 + echo " 01234567" + for (( f = 0; f < 8; f++ )); do + echo -en " ${f} " + for (( b = 0; b < 8; b++ )); do + echo -en "\033[38;5;$((fs+f))m\033[48;5;$((bs+b))m$T\033[0m"; + done + echo + done +} + +function print_colors() { + local c + for (( c = $1; c < $1 + $2; c++)); do + echo -en "\033[48;5;${c}m$T\033[0m" + done + echo +} +function colors() { + print_colors 0 8 + print_colors 8 8 + for (( c = 16; c < 256 - 24; c += 36 )); do + print_colors $c 36 + done + print_colors $((256 - 24)) 24 +} + +function true_colors() { + awk -v term_cols="${width:-$(tput cols || echo 80)}" 'BEGIN{ + s="/\\"; + for (colnum = 0; colnum255) 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 "%s\033[0m", substr(s,colnum%2+1,1); + } + printf "\n"; + }' +} + +colors +true_colors