| 1 | #!/bin/bash |
| 2 | |
| 3 | echo "=== Terminal Color Debug Script ===" |
| 4 | echo "Displaying ANSI colors 0-15 with background and foreground examples" |
| 5 | echo |
| 6 | |
| 7 | # Function to print color sample |
| 8 | print_color() { |
| 9 | local color=$1 |
| 10 | local name=$2 |
| 11 | |
| 12 | # Background color sample |
| 13 | printf "Color %-2d (%s):" "$color" "$name" |
| 14 | printf "\033[48;5;${color}m \033[0m " |
| 15 | |
| 16 | # Foreground color sample |
| 17 | printf "\033[38;5;${color}m████████\033[0m " |
| 18 | |
| 19 | # RGB values if available |
| 20 | if command -v tput >/dev/null 2>&1; then |
| 21 | printf "tput: \033[38;5;${color}m$(tput setaf $color 2>/dev/null || echo 'N/A')\033[0m" |
| 22 | fi |
| 23 | |
| 24 | echo |
| 25 | } |
| 26 | |
| 27 | echo "Standard ANSI Colors (0-15):" |
| 28 | echo "Format: Color ## (name): [BG] [FG] [tput info]" |
| 29 | echo |
| 30 | |
| 31 | # Standard 16 colors with names |
| 32 | print_color 0 "black" |
| 33 | print_color 1 "red" |
| 34 | print_color 2 "green" |
| 35 | print_color 3 "yellow" |
| 36 | print_color 4 "blue" |
| 37 | print_color 5 "magenta" |
| 38 | print_color 6 "cyan" |
| 39 | print_color 7 "white" |
| 40 | print_color 8 "bright_black" |
| 41 | print_color 9 "bright_red" |
| 42 | print_color 10 "bright_green" |
| 43 | print_color 11 "bright_yellow" |
| 44 | print_color 12 "bright_blue" |
| 45 | print_color 13 "bright_magenta" |
| 46 | print_color 14 "bright_cyan" |
| 47 | print_color 15 "bright_white" |
| 48 | |
| 49 | echo |
| 50 | echo "=== True Color Test ===" |
| 51 | echo "Testing 24-bit (RGB) color support:" |
| 52 | printf "Red gradient: \033[48;2;255;0;0m \033[0m \033[48;2;200;0;0m \033[0m \033[48;2;150;0;0m \033[0m\n" |
| 53 | printf "Green gradient: \033[48;2;0;255;0m \033[0m \033[48;2;0;200;0m \033[0m \033[48;2;0;150;0m \033[0m\n" |
| 54 | printf "Blue gradient: \033[48;2;0;0;255m \033[0m \033[48;2;0;0;200m \033[0m \033[48;2;0;0;150m \033[0m\n" |
| 55 | |
| 56 | echo |
| 57 | echo "=== Environment Info ===" |
| 58 | echo "TERM: ${TERM:-not set}" |
| 59 | echo "COLORTERM: ${COLORTERM:-not set}" |
| 60 | echo "Terminal: $(ps -p $PPID -o comm= 2>/dev/null || echo 'unknown')" |
| 61 | |
| 62 | echo |
| 63 | echo "=== 256 Color Support Test ===" |
| 64 | echo "Extended color palette (16-255):" |
| 65 | for i in {16..51}; do |
| 66 | printf "\033[48;5;${i}m \033[0m" |
| 67 | if [ $((($i - 15) % 6)) -eq 0 ]; then echo; fi |
| 68 | done |
| 69 | echo |