termcol: preset groups in include
[sheet.git] / termcol.plp
index 0000143f7e6f79d027ebb61db23761d25ba6fa67..8f8878bf498535442122a16eb28284432786b016 100644 (file)
@@ -20,16 +20,6 @@ my @draw = map { [$_, s/\W+\z//] } grep { $_ } split m(/),
 my @termlist;
 push @termlist, split /\W+/, $ENV{PATH_INFO} || 'default';
 
-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 cgarne )],
-       legacy  => [qw( c64 msx2 mac2 risc arnegame cpc )],
-);
-@{$_} = map { $termgroup{$_} ? @{ $termgroup{$_} } : $_ } @{$_}
-       for values %termgroup, \@termlist;
-
 :>
 <h1>Terminal colours</h1>
 
@@ -38,7 +28,7 @@ my %termgroup = (
 as implemented by various systems and programs.
 <:
 print
-       "@termlist" ne "@{ $termgroup{default} }" ? 'Additional palettes are included as specified.' :
+       "@termlist" ne 'default' ? 'Additional palettes are included as specified.' :
        'Also see <a href="/termcol/more">8-bit legacy hardware</a> palettes.';
 :>
 </p>
@@ -109,6 +99,11 @@ sub img_egapal {
 sub coltable {
        my ($term) = @_;
        my $info = $palettes->{$term};
+
+       if (ref $info eq 'ARRAY') {
+               coltable($_) for @{$info};
+       }
+
        ref $info eq 'HASH' or next;
 
        my $caption = $info->{name} // $term;