:: #!/bin/bash
:: #
:: #   This file echoes a bunch of color codes to the
:: #   terminal to demonstrate what's available.  Each
:: #   line is the color code of one foreground 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

:: https://tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
:: This is the recreation of the output of the TLDP.org 
:: bash script provided by Daniel Crisman.
__DATA__
__TABLE__
:: Greatest mystery ever. Why gYw?
SET "CELL=  gYw  "
:: The stub is right justified
SET "ALIGN.STUB=R"
:: The box header is centered over each column
SET "ALIGN.BOXHEAD=C"
:: There is a space between the stub and the rest of the table
SET "SEPARATOR.STUB= "
:: Each column is separated by a space
SET "SEPARATOR.COL= "
:: The widest stub label is 5 characters, but the original table uses 6 for the stub, producing a leading space
SET /A "STUB.MAX_WIDTH=6"
__TABLE:END__
:: Background
__COLS__
:: A column with no background attributes applied
#NUL#
40m
41m
42m
43m
44m
45m
46m
47m
__COLS:END__
:: Foreground
__ROWS__
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
__ROWS:END__
__DATA:END__
