debug_colors.sh 2.0 K raw
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