From: Matt S Trout Date: Fri, 6 Apr 2018 01:16:38 +0000 (+0000) Subject: make format indented call _format X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FDX.git;a=commitdiff_plain;h=f69aaaffa3d5d090440794721e00cf8fc212ee88 make format indented call _format --- diff --git a/lib/DX/TraceFormatter.pm b/lib/DX/TraceFormatter.pm index 31ee922..bd6ea47 100644 --- a/lib/DX/TraceFormatter.pm +++ b/lib/DX/TraceFormatter.pm @@ -1,7 +1,6 @@ package DX::TraceFormatter; use Scalar::Util qw(blessed); -use curry; use List::Util qw(min); use DX::Class; @@ -52,11 +51,11 @@ sub _format_as_word_and_body { } sub _format_indented { - my ($self, $cb) = @_; - return $cb->() if $WS eq ' '; + my ($self, $thing) = @_; + return $self->_format($thing) if $WS eq ' '; our $Indent_Level; local $Indent_Level = $Indent_Level + 1; - my $unindented = $cb->(); + my $unindented = $self->_format($thing); (my $indented = $unindented) =~ s/^/${\$self->indent_by}/mg; return $indented; } @@ -89,16 +88,16 @@ sub _format_as_array { my ($self, $members) = @_; join $WS, '{[', - (map $self->_format_indented($self->curry::_format($_)), @$members) + (map $self->_format_indented($_), @$members) , ']}'; } sub _format_as_dict { my ($self, $members) = @_; join $WS, '{{', ( - map $self->_format_indented($self->curry::_format( + map $self->_format_indented( [ word_and_body => [ $_, $members->{$_} ] ], - )), sort keys %$members + ), sort keys %$members ), '}}'; } @@ -115,16 +114,16 @@ sub _format_as_value_path { sub _format_as_list { my ($self, $members) = @_; join $WS, '{', ( - map $self->_format_indented($self->curry::_format($_)), @$members + map $self->_format_indented($_), @$members ), '}'; } sub _format_as_pairs { my ($self, $members) = @_; join $WS, '{', ( - map $self->_format_indented($self->curry::_format( + map $self->_format_indented( [ word_and_body => $_ ] - )), @$members + ), @$members ), '}'; } @@ -132,7 +131,7 @@ sub _format_as_block { my ($self, $members) = @_; join $WS, '{', ( join +($WS eq ' ' ? '; ' : $WS), - map $self->_format_indented($self->curry::_format($_)), @$members + map $self->_format_indented($_), @$members ), '}'; }