termcol: declare and include cgarne
[sheet.git] / termcol.plp
index b3bb7b5f709fd819ab591696274328574aa1c10c..850ff83e9ccaf98bc67aef81593b70f592d77088 100644 (file)
@@ -24,7 +24,7 @@ my %termgroup = (
        default => [qw( ansi xkcd ansi88 )],
        more    => [qw( ansi mirc legacy ansi256 )],
        msx     => [qw( msx1 msx2 arnejmp )],
-       ansi    => [qw( cga xterm tango app html )],
+       ansi    => [qw( cga xterm tango app html cgarne )],
        legacy  => [qw( c64 msx2 mac2 risc arnegame cpc )],
 );
 @{$_} = map { $termgroup{$_} ? @{ $termgroup{$_} } : $_ } @{$_}
@@ -127,8 +127,21 @@ for my $term (@termlist) {
                print "</table>\n\n";
        }
 
+       if (my $table = $info->{table}) {
+               print '<table class="color mapped">'."\n";
+               printf "<caption>%s</caption>\n", $caption;
+               for my $row (@$table) {
+                       print '<tr>';
+                       print colcell(@$_) for @$row;
+               }
+               print "</table>\n\n";
+       }
+
        if (my $palette = $info->{list}) {
-               my $colours = colorder($palette, $get{v} && $info->{ansiorder});
+               my $order = $get{order} && $get{order}.'order';
+               my $colours = colorder($palette,
+                       $info->{$order} // $palettes->{ $info->{parent} }->{$order}
+               );
 
                my $rows = 8;
                my $columns = ceil(@{$palette} / $rows);
@@ -148,7 +161,9 @@ for my $term (@termlist) {
                }
 
                for (@draw) {
-                       my $imgpal = colorder($palette, $info->{ansiorder});
+                       my $imgpal = colorder($palette,
+                               $info->{ansiorder} // $palettes->{ $info->{parent} }->{ansiorder}
+                       );
                        print "<tr><td colspan=$columns>", img_egapal($imgpal, @{$_});
                }
                print "</table>\n\n";
@@ -157,7 +172,7 @@ for my $term (@termlist) {
 
 sub colorder {
        my ($palette, $reorder) = @_;
-       return [ map { $palette->[$_] =~ s/:|$/:$_/r } @{$reorder} ];
+       return [ map { $palette->[$_] =~ s/:(?![^:])|$/:$_/r } @{$reorder} ]
                if $reorder;
        return $palette;
 }