diff --git a/thebookofcolors b/thebookofcolors index e363077..2876208 100755 --- a/thebookofcolors +++ b/thebookofcolors @@ -299,18 +299,59 @@ section_bright_colors() { section_italics() { title "Code 3; Italics" - printf 'TODO\n' + printf "Code 3 enables " + italic "italic" + printf " text.\n" } section_underline() { - title "Code 4; Underline" + title "Code 4; Underscore" - printf 'TODO\n' + printf "Code 4 adds an underscore, or underline, to text.\n" + printf "Note that the underline is always shown in the foreground color; see the table below for details.\n" + newline + + subtitle "A Table of Underlined Text" + tableheader "Foreground" + printf " " + tableheader "Background" + newline + printf "\e[4;30m\\\e[4;30m Black\e[0m \e[4;40m\\\e[4;40m Black\e[0m\n" + printf "\e[4;31m\\\e[4;31m Red\e[0m \e[4;41m\\\e[4;41m Red\e[0m\n" + printf "\e[4;32m\\\e[4;32m Green\e[0m \e[4;42m\\\e[4;42m Green\e[0m\n" + printf "\e[4;33m\\\e[4;33m Brown\e[0m \e[4;43m\\\e[4;43m Brown\e[0m\n" + printf "\e[4;34m\\\e[4;34m Blue\e[0m \e[4;44m\\\e[4;44m Blue\e[0m\n" + printf "\e[4;35m\\\e[4;35m Purple\e[0m \e[4;45m\\\e[4;45m Purple\e[0m\n" + printf "\e[4;36m\\\e[4;36m Cyan\e[0m \e[4;46m\\\e[4;46m Cyan\e[0m\n" + printf "\e[4;37m\\\e[4;37m Light grey\e[0m \e[4;47m\\\e[4;47m Light grey\e[0m\n" } section_dreaded_blinking_text_of_doom() { title "Codes 5 and 6; Blinking" - printf 'TODO\n' + + printf "Also known as the dreaded blinking text of doom.\n" + printf "Causes text to blink. Some terminal emulators refuse to honor this attribute as a matter of good taste, although there are some semi-legitimate uses for it -- the \`ls\` program, for example, can be configured to cause listings of broken symlinks to blink.\n" + printf "Note that even if the blinking attribute is set on a background color, it's always the text that blinks, not the background.\n" + newline + + subtitle "A Table of Blinking Texts" + tableheader "Foreground" + printf " " + tableheader "Background" + newline + printf "\e[5;30m\\\e[5;30m Black\e[0m \e[5;40m\\\e[5;40m Black\e[0m\n" + printf "\e[5;31m\\\e[5;31m Red\e[0m \e[5;41m\\\e[5;41m Red\e[0m\n" + printf "\e[5;32m\\\e[5;32m Green\e[0m \e[5;42m\\\e[5;42m Green\e[0m\n" + printf "\e[5;33m\\\e[5;33m Brown\e[0m \e[5;43m\\\e[5;43m Brown\e[0m\n" + printf "\e[5;34m\\\e[5;34m Blue\e[0m \e[5;44m\\\e[5;44m Blue\e[0m\n" + printf "\e[5;35m\\\e[5;35m Purple\e[0m \e[5;45m\\\e[5;45m Purple\e[0m\n" + printf "\e[5;36m\\\e[5;36m Cyan\e[0m \e[5;46m\\\e[5;46m Cyan\e[0m\n" + printf "\e[5;37m\\\e[5;37m Light grey\e[0m \e[5;47m\\\e[5;47m Light grey\e[0m\n" + newline + + printf "Code 6 enables \"rapid blink\", which is not widely supported.\n" + printf "Here is a sample using code 6; if it blinks at the same rate as the table above, then your terminal doesn't support rapid blink.\n" + printf "\e[6;31m\\\e[6;31m Red\e[0m \e[6;41m\\\e[6;41m Red\e[0m\n" } section_inverse() {