perl: upcoming features upto v5.25.8
[sheet.git] / termcol.plp
index 8f8878bf498535442122a16eb28284432786b016..3f8befcbd42f3dc3abd5574ce0bcb437ac7343da 100644 (file)
@@ -42,6 +42,8 @@ use POSIX qw( ceil );
 
 my $palettes = do 'termcol.inc.pl';
 die "Cannot open palette data: $_\n" for $@ || $! || ();
+my $more = do 'termcol-xcolor.inc.pl';
+$palettes = {%$palettes, %$more};
 
 sub colcell {
        my $name = shift // return "<td>\n";
@@ -129,14 +131,18 @@ sub coltable {
                printf "<caption>%s</caption>\n", $caption;
                for my $row (@$table) {
                        print '<tr>';
-                       print colcell(@$_) for @$row;
+                       print colcell(ref $_ ? @$_ : $_ ? reverse split /:/ : undef) for @$row;
                }
 
+       if (@draw) {
                my $width = scalar @{ $table->[0] };
-               my @imgpal = map { [ @{$_}[1 .. 3] ] } map { @{$_} } @{$table};
+               my @imgpal = map {
+                       [ ref $_ ? @{$_}[1 .. 3] : map {hex} /(..)(..)(..)/ ]
+               } map { @{$_} } @{$table};
                for (@draw) {
                        print "<tr><td colspan=$width>", img_egapal(\@imgpal, @{$_});
                }
+       }
                print "</table>\n\n";
        }