-<%perl>
- my $hl_lang = $1;
- my $kid = open my $fh, "-|" // die "fork: $!";
- if ($kid == 0) {
- open my $hl, "|-", "highlight", "-Ohtml", "-f", "-t8", "-S$hl_lang"
- or die "open highlight: $!";
- syswrite $hl, $content // die "highlight write: $!";
- close $hl or die "highlight kid: $!, $?";
- exit 0;
- } else {
- while (sysread $fh, my $buf, 8192) { $m->print($buf); }
- close $fh and waitpid $kid, 0
- or die "highlight parent: $!, $?";
- }
-</%perl>
+% filter "highlight", $m, $content,
+% "highlight", "-Ohtml", "-f", "-t8", "-S$1";