X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/f98cea83b0bf1deb7ce54abe13d16d7e4fdd91ab..ede7dd9ecdc525c8323ea16805f983786fb00c1a:/tools/mktermcol-xcolor diff --git a/tools/mktermcol-xcolor b/tools/mktermcol-xcolor index 59c4a25..f731e5a 100755 --- a/tools/mktermcol-xcolor +++ b/tools/mktermcol-xcolor @@ -11,13 +11,16 @@ for my $path (glob 'data/xcolors/themes/*') { open my $theme, '<', $path; (my $name = $path) =~ s{.*/}{}; # basename - my @pal; + my (%pal, @pal); while (readline $theme) { - m{ color(\d+) \h* : \h* ( \#(\S+) | rgb:(\S+) ) }x or next; - my ($idx, $val) = ($1, uc $+); - $idx < 16 or next; + m{ + (?: (foreground | background) | color(\d+) ) \h* : \h* + (?: \#(\S+) | rgb:(\S+) ) + }x or next; + my ($name, $idx, $val) = ($1, $2, uc $+); + $name or $idx < 16 or next; $val =~ s/[^0-9A-F]//g; - $pal[$idx] = $val; + ($name ? $pal{$name} : $pal[$idx]) = $val; } my $huesum = 0; @@ -38,6 +41,7 @@ for my $path (glob 'data/xcolors/themes/*') { say qq(\ttitle => '$name',); say qq(\tparent => 'cga',); say qq(\tlist => [qw(@pal)],); + say qq(\t$_ => '$pal{$_}',) for keys %pal; say qq(},); push @names, $name; }