]> git.donarmstrong.com Git - perltidy.git/commitdiff
add sub to return maximum indentation level
authorSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Oct 2020 00:09:02 +0000 (17:09 -0700)
committerSteve Hancock <perltidy@users.sourceforge.net>
Wed, 7 Oct 2020 00:09:02 +0000 (17:09 -0700)
lib/Perl/Tidy/Tokenizer.pm

index 8f1b81f081cd483bc93f97bd51c4695925d263ff..27ceee9f28cd53ed94c0d6e1fd7f1b919d72e713 100644 (file)
@@ -163,6 +163,7 @@ BEGIN {
         _line_of_text_                       => $i++,
         _rlower_case_labels_at_              => $i++,
         _extended_syntax_                    => $i++,
+        _maximum_level_                      => $i++,
     };
 }
 
@@ -320,6 +321,7 @@ sub new {
     $self->[_line_of_text_]                       = "";
     $self->[_rlower_case_labels_at_]              = undef;
     $self->[_extended_syntax_]                    = $args{extended_syntax};
+    $self->[_maximum_level_]                      = 0;
     bless $self, $class;
 
     $tokenizer_self = $self;
@@ -433,6 +435,10 @@ sub write_diagnostics {
     return;
 }
 
+sub get_maximum_level {
+    return $tokenizer_self->[_maximum_level_];
+}
+
 sub report_tokenization_errors {
 
     my $self         = shift;
@@ -3995,6 +4001,11 @@ EOM
                 push( @{$rslevel_stack}, 1 + $slevel_in_tokenizer );
                 $level_in_tokenizer++;
 
+                if ( $level_in_tokenizer > $tokenizer_self->[_maximum_level_] )
+                {
+                    $tokenizer_self->[ _maximum_level_ ] = $level_in_tokenizer;
+                }
+
                 if ($forced_indentation_flag) {
 
                     # break BEFORE '?' when there is forced indentation