]> git.donarmstrong.com Git - perltidy.git/commitdiff
fix minor issue with levels reported in logfile
authorSteve Hancock <perltidy@users.sourceforge.net>
Wed, 27 Sep 2023 13:17:15 +0000 (06:17 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Wed, 27 Sep 2023 13:17:15 +0000 (06:17 -0700)
lib/Perl/Tidy/Formatter.pm

index e28ae087b8b0d304c074c466cb9f154b63361932..db943a85bccdec8cc6f3978a8d381b7fc2e61b8d 100644 (file)
@@ -6220,7 +6220,7 @@ EOM
 
         # Values needed by Logger
         $line_of_tokens->{_level_0}    = $rlevels->[0];
-        $line_of_tokens->{_ci_level_0} = 0;    # sub set_ci will fix this
+        $line_of_tokens->{_ci_level_0} = 0;               # fix later
         $line_of_tokens->{_nesting_blocks_0} =
           $line_of_tokens_old->{_nesting_blocks_0};
         $line_of_tokens->{_nesting_tokens_0} =
@@ -7889,18 +7889,6 @@ EOM
     # Post-loop operations:
     #----------------------
 
-    # if the logfile is saved, we need to save the leading ci of
-    # each old line of code.
-    if ( $self->[_save_logfile_] ) {
-        foreach my $line_of_tokens ( @{$rlines} ) {
-            my $line_type = $line_of_tokens->{_line_type};
-            next if ( $line_type ne 'CODE' );
-            my ( $Kfirst, $Klast ) = @{ $line_of_tokens->{_rK_range} };
-            next if ( !defined($Kfirst) );
-            $line_of_tokens->{_ci_level_0} = $rLL->[$Kfirst]->[_CI_LEVEL_];
-        }
-    }
-
     if (DEBUG_SET_CI) {
         my @output_lines;
         foreach my $KK ( 0 .. $Klimit ) {
@@ -15122,6 +15110,18 @@ sub process_all_lines {
                 # Let logger see all non-blank lines of code. This is a slow
                 # operation so we avoid it if it is not going to be saved.
                 if ( $save_logfile && $logger_object ) {
+
+                    # get updated indentation levels
+                    my $rK_range = $line_of_tokens->{_rK_range};
+                    my ( $K_first, $K_last ) = @{$rK_range};
+                    if ( defined($K_first) ) {
+                        my $level_0 = $self->[_radjusted_levels_]->[$K_first];
+                        my $ci_level_0 =
+                          $self->[_rLL_]->[$K_first]->[_CI_LEVEL_];
+                        $line_of_tokens->{_level_0}    = $level_0;
+                        $line_of_tokens->{_ci_level_0} = $ci_level_0;
+                    }
+
                     $logger_object->black_box( $line_of_tokens,
                         $vertical_aligner_object->get_output_line_number );
                 }