App-NDTools

 view release on metacpan or  search on metacpan

lib/App/NDTools/NDDiff.pm  view on Meta::CPAN

        path2str([splice @{$path}, 0, -1]) . $COLOR{reset} .
        $COLOR{"B$status"} . path2str($path) . $COLOR{reset} . "\n";
}

sub print_term_block {
    my ($self, $value, $path, $status) = @_;

    log_trace { "'" . path2str($path) . "' ($status)" };

    my @lines;
    my $dsign = $self->{OPTS}->{term}->{sign}->{$status};
    my $indent = $self->{OPTS}->{term}->{indt};

    # diff for path
    if (@{$path} and my @delta = path_delta($self->{'hdr_path'}, $path)) {
        $self->{'hdr_path'} = [@{$path}];
        my $s = $self->{OPTS}->{pretty} ? @{$path} - @delta : 0;

        while ($s < @{$path}) {
            my $line = $indent x $s . path2str([$path->[$s]]);

            if (($status eq 'A' or $status eq 'R') and $s == $#{$path}) {
                $line = $COLOR{"B$status"} . $dsign . $line . $COLOR{reset};
            } else {
                substr($line, 0, 0, $indent);
            }

            push @lines, $line;
            $s++;
        }
    }

    # diff for value



( run in 2.467 seconds using v1.01-cache-2.11-cpan-71847e10f99 )