# =========================================================
# PygmenTeX support for latexmk.  2026-03-25
# =========================================================

add_cus_dep('snippets', 'pygmented', 0, 'snippets2pygmented');

sub snippets2pygmented {
    my $base   = $_[0];
    my $source = "$base.snippets";

    if (open(my $fh, '<', $source)) {
        my $lines = join('', <$fh>);
        close($fh);

        # Extract dependencies generated by \inputpygmented
        my @pygmentex_deps = ($lines =~ /^<\@\@pygmented\@input\@\d+\n.*\n(.+)$/gm);
        foreach my $dep (@pygmentex_deps) {
            rdb_ensure_file($rule, $dep) if defined $rule;
        }
    } else {
        warn "snippets2pygmented: Cannot open '$source': $!\n";
    }

    # Execute the TeX Live installed binary
    my @cmd = ( "pygmentex", $source ); 
    print "PygmenTeX: Running @cmd\n";
    system(@cmd);
   
    # Return the exit code of the system call
    return $? >> 8;
}

$clean_ext .= " %R.snippets %R.pygmented";

