termcol: preset groups in include
authorMischa POSLAWSKY <perl@shiar.org>
Sun, 23 Oct 2016 04:08:14 +0000 (06:08 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Wed, 22 Mar 2017 21:28:04 +0000 (22:28 +0100)
termcol.inc.pl
termcol.plp

index d4741ed..9152f6b 100644 (file)
@@ -3,6 +3,11 @@ use 5.010;
 use Shiar_Sheet::Colour '1.05';
 
 +{
+       default => [qw( ansi xkcd ansi88 )],
+       more    => [qw( ansi mirc legacy ansi256 )],
+       ansi    => [qw( cga xterm tango app html cgarne )],
+       legacy  => [qw( c64 msx2 mac2 risc arnegame cpc )],
+
        html => {
                title => 'HTML keywords (inherited by CSSā‰„2.1 and SVG), mostly identical to X11',
                href => 'http://www.w3.org/TR/css3-color/#html4',
@@ -159,6 +164,8 @@ use Shiar_Sheet::Colour '1.05';
                ansiorder => [ 0,2,5,9,6,4,3,15 , 11,10,13,7,14,8,12,1 ],
                hueorder => [ 2,8,7,5,3,6,4,9 , 10,13,14,0,11,12,15,1 ],
        },
+
+       msx => [qw( msx1 msx2 arnejmp )],
        msx1 => {
                name => 'MSX',
                list => [ map {
@@ -193,6 +200,7 @@ use Shiar_Sheet::Colour '1.05';
                )],
                parent => 'msx1',
        },
+
        arnegame => {
                href => 'http://androidarts.com/palette/16pal.htm',
                title => 'Generic 16 color game palette v20 by Arne Niklas Jansson',
index 0000143..8f8878b 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;