Checksumcolor: Difference between revisions
Content added Content deleted
(Added Go) |
Thundergnat (talk | contribs) (→{{header|Perl 6}}: Add a Perl 6 example) |
||
Line 214: | Line 214: | ||
<span style="color:#A00">b25</span><span style="color:#AA0">9b2</span><span style="color:#A00">936</span><span style="color:#AA0">bb4</span><span style="color:#A00">600</span><span style="color:#0AA">9be</span><span style="color:#0A0">3f5</span><span style="color:#AA0">cc0</span><span style="color:#0A0">6a12c3</span>2d coreutils-8.30.tar.gz |
<span style="color:#A00">b25</span><span style="color:#AA0">9b2</span><span style="color:#A00">936</span><span style="color:#AA0">bb4</span><span style="color:#A00">600</span><span style="color:#0AA">9be</span><span style="color:#0A0">3f5</span><span style="color:#AA0">cc0</span><span style="color:#0A0">6a12c3</span>2d coreutils-8.30.tar.gz |
||
<span style="color:#00A">03c</span><span style="color:#A00">f26420</span><span style="color:#AA0">de5</span><span style="color:#00A">66c306</span><span style="color:#A00">d34</span><span style="color:#0AA">0df</span><span style="color:#00A">52f</span><span style="color:#0AA">6cc</span>d7 coreutils-8.31.tar.gz |
<span style="color:#00A">03c</span><span style="color:#A00">f26420</span><span style="color:#AA0">de5</span><span style="color:#00A">66c306</span><span style="color:#A00">d34</span><span style="color:#0AA">0df</span><span style="color:#00A">52f</span><span style="color:#0AA">6cc</span>d7 coreutils-8.31.tar.gz |
||
=={{header|Perl 6}}== |
|||
{{works with|Rakudo|2019.03}} |
|||
To determine the colors, rather than breaking the md5sum into groups of 3 characters, (which leaves two lonely character at the end), I elected to replicate the first 5 characters onto the end, then for each character, used it and the 5 characters following as a true-color index. I also added an option to output as HTML code for ease of pasting in here. |
|||
<lang perl6>unit sub MAIN ($mode = 'ANSI'); |
|||
if $*OUT.t or $mode eq 'HTML' { |
|||
say '<div style="background-color:black;">' if $mode eq 'HTML'; |
|||
while my $line = get() { |
|||
my $cs = $line.words[0]; |
|||
my $css = $cs ~ $cs.substr(0,5); |
|||
given $mode { |
|||
when 'ANSI' { |
|||
print "\e[48;5;232m"; |
|||
.print for $css.comb.rotor(6 => -5)>>.map({ ($^a, $^b).join })\ |
|||
.map( { sprintf "\e[38;2;%d;%d;%dm", |$_».parse-base(16) } ) Z~ $css.comb; |
|||
say "\e[0m {$line.words[1..*]}"; |
|||
} |
|||
when 'HTML' { |
|||
print "$_\</span>" for $css.comb.rotor(6 => -5)\ |
|||
.map( { sprintf "<span style=\"color:#%s;\">", $_.join } ) Z~ $css.comb; |
|||
say " <span style=\"color:#ffffff\">{$line.words[1..*]}</span>"; |
|||
say '</br>'; |
|||
} |
|||
default { say $line; } |
|||
} |
|||
} |
|||
say '</div>' if $mode eq 'HTML'; |
|||
} else { |
|||
.say while $_ = get(); |
|||
}</lang> |
|||
Can't really show the ANSI output directly so show the HTML output. Essentially identical. |
|||
{{out}} |
|||
<pre>md5sum *.p6 | perl6 checksum-color.p6 HTML > checksum-color.html</pre> |
|||
yields: |
|||
<div style="background-color:black;"> |
|||
<span style="color:#0f59c9;">0</span><span style="color:#f59c93;">f</span><span style="color:#59c935;">5</span><span style="color:#9c9355;">9</span><span style="color:#c93551;">c</span><span style="color:#935511;">9</span><span style="color:#355117;">3</span><span style="color:#551175;">5</span><span style="color:#511754;">5</span><span style="color:#117540;">1</span><span style="color:#17540f;">1</span><span style="color:#7540fb;">7</span><span style="color:#540fb2;">5</span><span style="color:#40fb26;">4</span><span style="color:#0fb263;">0</span><span style="color:#fb263b;">f</span><span style="color:#b263b6;">b</span><span style="color:#263b6c;">2</span><span style="color:#63b6c6;">6</span><span style="color:#3b6c6c;">3</span><span style="color:#b6c6c4;">b</span><span style="color:#6c6c4d;">6</span><span style="color:#c6c4d1;">c</span><span style="color:#6c4d1c;">6</span><span style="color:#c4d1cf;">c</span><span style="color:#4d1cf1;">4</span><span style="color:#d1cf19;">d</span><span style="color:#1cf190;">1</span><span style="color:#cf190f;">c</span><span style="color:#f190f5;">f</span><span style="color:#190f59;">1</span><span style="color:#90f59c;">9</span> <span style="color:#ffffff">checksum-color (another copy).p6</span> |
|||
<br> |
|||
<span style="color:#0f59c9;">0</span><span style="color:#f59c93;">f</span><span style="color:#59c935;">5</span><span style="color:#9c9355;">9</span><span style="color:#c93551;">c</span><span style="color:#935511;">9</span><span style="color:#355117;">3</span><span style="color:#551175;">5</span><span style="color:#511754;">5</span><span style="color:#117540;">1</span><span style="color:#17540f;">1</span><span style="color:#7540fb;">7</span><span style="color:#540fb2;">5</span><span style="color:#40fb26;">4</span><span style="color:#0fb263;">0</span><span style="color:#fb263b;">f</span><span style="color:#b263b6;">b</span><span style="color:#263b6c;">2</span><span style="color:#63b6c6;">6</span><span style="color:#3b6c6c;">3</span><span style="color:#b6c6c4;">b</span><span style="color:#6c6c4d;">6</span><span style="color:#c6c4d1;">c</span><span style="color:#6c4d1c;">6</span><span style="color:#c4d1cf;">c</span><span style="color:#4d1cf1;">4</span><span style="color:#d1cf19;">d</span><span style="color:#1cf190;">1</span><span style="color:#cf190f;">c</span><span style="color:#f190f5;">f</span><span style="color:#190f59;">1</span><span style="color:#90f59c;">9</span> <span style="color:#ffffff">checksum-color (copy).p6</span> |
|||
<br> |
|||
<span style="color:#0f59c9;">0</span><span style="color:#f59c93;">f</span><span style="color:#59c935;">5</span><span style="color:#9c9355;">9</span><span style="color:#c93551;">c</span><span style="color:#935511;">9</span><span style="color:#355117;">3</span><span style="color:#551175;">5</span><span style="color:#511754;">5</span><span style="color:#117540;">1</span><span style="color:#17540f;">1</span><span style="color:#7540fb;">7</span><span style="color:#540fb2;">5</span><span style="color:#40fb26;">4</span><span style="color:#0fb263;">0</span><span style="color:#fb263b;">f</span><span style="color:#b263b6;">b</span><span style="color:#263b6c;">2</span><span style="color:#63b6c6;">6</span><span style="color:#3b6c6c;">3</span><span style="color:#b6c6c4;">b</span><span style="color:#6c6c4d;">6</span><span style="color:#c6c4d1;">c</span><span style="color:#6c4d1c;">6</span><span style="color:#c4d1cf;">c</span><span style="color:#4d1cf1;">4</span><span style="color:#d1cf19;">d</span><span style="color:#1cf190;">1</span><span style="color:#cf190f;">c</span><span style="color:#f190f5;">f</span><span style="color:#190f59;">1</span><span style="color:#90f59c;">9</span> <span style="color:#ffffff">checksum-color.p6</span> |
|||
<br> |
|||
<span style="color:#bbd8a9;">b</span><span style="color:#bd8a92;">b</span><span style="color:#d8a92c;">d</span><span style="color:#8a92c3;">8</span><span style="color:#a92c32;">a</span><span style="color:#92c326;">9</span><span style="color:#2c326c;">2</span><span style="color:#c326c8;">c</span><span style="color:#326c8a;">3</span><span style="color:#26c8a3;">2</span><span style="color:#6c8a35;">6</span><span style="color:#c8a35e;">c</span><span style="color:#8a35e8;">8</span><span style="color:#a35e80;">a</span><span style="color:#35e80d;">3</span><span style="color:#5e80d2;">5</span><span style="color:#e80d2d;">e</span><span style="color:#80d2d7;">8</span><span style="color:#0d2d71;">0</span><span style="color:#d2d71a;">d</span><span style="color:#2d71ab;">2</span><span style="color:#d71ab8;">d</span><span style="color:#71ab89;">7</span><span style="color:#1ab890;">1</span><span style="color:#ab8902;">a</span><span style="color:#b8902c;">b</span><span style="color:#8902cd;">8</span><span style="color:#902cdb;">9</span><span style="color:#02cdbb;">0</span><span style="color:#2cdbbd;">2</span><span style="color:#cdbbd8;">c</span><span style="color:#dbbd8a;">d</span> <span style="color:#ffffff">something-competely-different.p6</span> |
|||
<br> |
|||
</div> |