7
7
# ##############################################################################
8
8
# ##############################################################################
9
9
10
- compare_color(" \e [1;91m" , git_ansi_color(" brightred bold" ) , " brightred bold" );
11
- compare_color(" \e [1;31m" , git_ansi_color(" red bold" ) , " red bold" );
12
- compare_color(" \e [1;32m" , git_ansi_color(" green bold" ) , " green bold" );
13
- compare_color(" \e [33m" , git_ansi_color(" yellow" ) , " yellow" );
14
- compare_color(" \e [1;7;32m" , git_ansi_color(" green bold reverse" ), " green bold reverse" );
15
- compare_color(" \e [1;35m" , git_ansi_color(" magenta bold" ) , " magenta bold" );
16
- compare_color(" \e [1;38;5;146m" , git_ansi_color(" 146 bold" ) , " 146 bold" );
17
- compare_color(" \e [1;38;5;146;48;5;22m" , git_ansi_color(" 146 bold 22" ) , " 146 bold 22" );
18
- compare_color(" \e [1;34;40m" , git_ansi_color(" blue black bold" ) , " blue black gold" );
19
- compare_color(" \e [38;5;11m" , git_ansi_color(" 11" ) , " 11" );
20
- compare_color(" \e [7;31m" , git_ansi_color(" red reverse" ) , " red reverse" );
21
- compare_color(" \e [1;31;48;5;52m" , git_ansi_color(" red bold 52" ) , " red bold 52" );
22
- compare_color(" \e [38;5;10;48;5;20m" , git_ansi_color(" 10 20" ) , " 10 20" );
10
+ compare_color(" \e [1;91m" , git_ansi_color(" brightred bold" ) , " brightred bold" );
11
+ compare_color(" \e [1;31m" , git_ansi_color(" red bold" ) , " red bold" );
12
+ compare_color(" \e [1;32m" , git_ansi_color(" green bold" ) , " green bold" );
13
+ compare_color(" \e [33m" , git_ansi_color(" yellow" ) , " yellow" );
14
+ compare_color(" \e [1;7;32m" , git_ansi_color(" green bold reverse" ), " green bold reverse" );
15
+ compare_color(" \e [1;35m" , git_ansi_color(" magenta bold" ) , " magenta bold" );
16
+ compare_color(" \e [1;38;5;146m" , git_ansi_color(" 146 bold" ) , " 146 bold" );
17
+ compare_color(" \e [1;38;5;146;48;5;22m" , git_ansi_color(" 146 bold 22" ) , " 146 bold 22" );
18
+ compare_color(" \e [1;34;40m" , git_ansi_color(" blue black bold" ) , " blue black gold" );
19
+ compare_color(" \e [93m" , git_ansi_color(" 11" ) , " 11" );
20
+ compare_color(" \e [7;31m" , git_ansi_color(" red reverse" ) , " red reverse" );
21
+ compare_color(" \e [1;31;48;5;52m" , git_ansi_color(" red bold 52" ) , " red bold 52" );
22
+ compare_color(" \e [92;48;5;20m" , git_ansi_color(" 10 20" ) , " 10 20" );
23
+ compare_color(" \e [30;47m" , git_ansi_color(" 0 7" ) , " 0 7" );
24
+ compare_color(" \e [94;105m" , git_ansi_color(" 12 13" ) , " 12 13" );
25
+ compare_color(" \e [1;38;5;254;48;5;255m" , git_ansi_color(" 254 bold 255" ) , " 254 bold 255" );
23
26
24
27
# ##############################################################################
25
28
# ##############################################################################
@@ -124,14 +127,20 @@ sub git_ansi_color {
124
127
@parts = grep { !/reverse / } @parts ; # Remove from array
125
128
}
126
129
127
- my $fg = $parts [0] || " " ;
128
- my $bg = $parts [1] || " " ;
130
+ my $fg = $parts [0] // " " ;
131
+ my $bg = $parts [1] // " " ;
129
132
130
133
# ############################################
131
134
132
135
# It's an numeric value, so it's an 8 bit color
133
136
if (is_numeric($fg )) {
134
- push (@ansi_part , " 38;5;$fg " );
137
+ if ($fg < 8) {
138
+ push (@ansi_part , $fg + 30);
139
+ } elsif ($fg < 16) {
140
+ push (@ansi_part , $fg + 82);
141
+ } else {
142
+ push (@ansi_part , " 38;5;$fg " );
143
+ }
135
144
# It's a simple 16 color OG ansi
136
145
} elsif ($fg ) {
137
146
my $bright = $fg =~ s / bright// ;
@@ -146,7 +155,13 @@ sub git_ansi_color {
146
155
147
156
# It's an numeric value, so it's an 8 bit color
148
157
if (is_numeric($bg )) {
149
- push (@ansi_part , " 48;5;$bg " );
158
+ if ($bg < 8) {
159
+ push (@ansi_part , $bg + 40);
160
+ } elsif ($bg < 16) {
161
+ push (@ansi_part , $bg + 92);
162
+ } else {
163
+ push (@ansi_part , " 48;5;$bg " );
164
+ }
150
165
# It's a simple 16 color OG ansi
151
166
} elsif ($bg ) {
152
167
my $bright = $bg =~ s / bright// ;
0 commit comments