Last active
January 10, 2023 03:41
-
-
Save azriel91/60b8569b7b967c087bdc8050eb9bc1d1 to your computer and use it in GitHub Desktop.
Prints ANSI colours to the console so that it is easily readable, and fits in one screen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# | |
# ansi colours | |
# basic | |
printf '\e[1mbasic:\e[0m\n' | |
for code in {0..15} | |
do | |
if [[ $(echo "$code % 8" | bc) -ge 1 ]] | |
then | |
# darken text | |
printf '\e[30;1m\e[48;5;%dm %3d \e[0m' $code $code | |
else | |
printf '\e[48;5;%dm %3d \e[0m' $code $code | |
fi | |
if [[ $(echo "$((code + 1)) % 8" | bc) -eq 0 ]] | |
then printf '\n' | |
fi | |
done | |
printf '\n' | |
# palette | |
printf '\e[1mpalette:\e[0m\n' | |
# | |
# for base in {16..196..36} | |
# do | |
# for offset in {0..35} | |
# do | |
# code=$(($base + $offset)) | |
# printf '\e[48;5;%dm %3d \e[0m' $code $code | |
# if [[][ $(echo "$((offset + 1)) % 6" | bc) -eq 0 ]] | |
# then printf '\n' | |
# fi | |
# done | |
# done | |
# palette condensed | |
colour_count_total=216 # 232 max code - 16 basic | |
palette_colour_count=36 # 36 colours in a palette | |
palette_column_count=3 | |
palette_row_colour_count=108 # 36 * 3 | |
palette_row_count=2 # ceiling of: | |
# ($colour_count_total - $palette_row_colour_count) | |
# divided by | |
# ($palette_column_count * $palette_colour_count) | |
# | |
# = ceil((216 - 108) / (3 * 36)) + 1 | |
# = ceil(108 / 108) + 1 | |
# = ceil(0.5) + 1 | |
# = 2 | |
for palette_row in {0..1} # $(($palette_row_count - 1)) | |
do | |
for row_offset in {0..5} | |
do | |
for palette_col in {0..2} # $(($palette_column_count - 1)) | |
do | |
base=$(echo "$palette_col * 36 + $row_offset * 6 + $palette_row * $palette_row_colour_count + 16" | bc) | |
for col_offset in {0..5} | |
do | |
code=$(($base + $col_offset)) | |
# colours go up to 232 | |
if [[ $code -ge 232 ]]; then break; fi | |
if [[ $(echo "$palette_row * $palette_col + $row_offset * $col_offset + $row_offset + $col_offset" | bc) -ge 3 ]] | |
then | |
# darken text | |
printf '\e[30;1m\e[48;5;%dm %3d \e[0m' $code $code | |
else | |
printf '\e[48;5;%dm %3d \e[0m' $code $code | |
fi | |
done | |
# separate palettes | |
printf ' ' | |
done | |
printf '\n' | |
done | |
printf '\n' | |
done | |
# greys | |
printf '\e[1mgreys:\e[0m\n' | |
for offset in {0..11} | |
do | |
base=232 | |
code=$(($base + $offset)) | |
printf '\e[48;5;%dm %3d \e[0m' $code $code | |
done | |
printf '\n' | |
for offset in {12..23} | |
do | |
base=232 | |
code=$(($base + $offset)) | |
printf '\e[30;1m\e[48;5;%dm %3d \e[0m' $code $code | |
done | |
printf '\n' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment