summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm')
-rw-r--r--Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm117
1 files changed, 65 insertions, 52 deletions
diff --git a/Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm b/Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm
index 67efab2348b..76d75cc9892 100644
--- a/Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm
+++ b/Master/texmf-dist/scripts/latexindent/LatexIndent/Check.pm
@@ -1,4 +1,5 @@
package LatexIndent::Check;
+
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
@@ -19,7 +20,7 @@ use warnings;
use Exporter qw/import/;
use LatexIndent::LogFile qw/$logger/;
use LatexIndent::Switches qw/$is_m_switch_active $is_check_verbose_switch_active/;
-our @ISA = "LatexIndent::Document"; # class inheritance, Programming Perl, pg 321
+our @ISA = "LatexIndent::Document"; # class inheritance, Programming Perl, pg 321
our @EXPORT_OK = qw/simple_diff/;
sub simple_diff {
@@ -29,21 +30,22 @@ sub simple_diff {
$logger->info("*simple diff: (check switch active)");
# check switch work below here
- if (${$self}{originalBody} eq ${$self}{body}){
+ if ( ${$self}{originalBody} eq ${$self}{body} ) {
$logger->info("no differences, no diff to report");
return;
}
# otherwise we loop through the old and new body, and make comparisons
- my @oldBody = split("\n",${$self}{originalBody});
- my @newBody = split("\n",${$self}{body});
- my @diff = ();
+ my @oldBody = split( "\n", ${$self}{originalBody} );
+ my @newBody = split( "\n", ${$self}{body} );
+ my @diff = ();
# this loop stores the differences ...
- if($is_m_switch_active){
+ if ($is_m_switch_active) {
+
# if -m *is* active, then the number of lines in old and new may not be the same
# so we need to go through the options
- my $maxLines = ($#oldBody >= $#newBody ? $#oldBody : $#newBody);
+ my $maxLines = ( $#oldBody >= $#newBody ? $#oldBody : $#newBody );
# loop through to maxLines, accounting for the three scenarios:
#
@@ -51,78 +53,89 @@ sub simple_diff {
# oldBody[lineCount] defined and newBody[lineCount] not defined
# oldBody[lineCount] not defined and newBody[lineCount] defined
#
- for (my $lineCount=0;$lineCount<=$maxLines;$lineCount++){
- if ($lineCount<=$#oldBody and $lineCount<=$#newBody ){
- if ($oldBody[$lineCount] ne $newBody[$lineCount]){
- push(@diff,{old=>$oldBody[$lineCount],new=>$newBody[$lineCount],lineNumber=>$lineCount+1});
- }
- } elsif ($lineCount<=$#oldBody) {
- push(@diff,{old=>$oldBody[$lineCount],lineNumber=>$lineCount+1});
- } else {
- push(@diff,{new=>$newBody[$lineCount],lineNumber=>$lineCount+1});
- }
+ for ( my $lineCount = 0; $lineCount <= $maxLines; $lineCount++ ) {
+ if ( $lineCount <= $#oldBody and $lineCount <= $#newBody ) {
+ if ( $oldBody[$lineCount] ne $newBody[$lineCount] ) {
+ push( @diff,
+ { old => $oldBody[$lineCount], new => $newBody[$lineCount], lineNumber => $lineCount + 1 } );
+ }
+ }
+ elsif ( $lineCount <= $#oldBody ) {
+ push( @diff, { old => $oldBody[$lineCount], lineNumber => $lineCount + 1 } );
+ }
+ else {
+ push( @diff, { new => $newBody[$lineCount], lineNumber => $lineCount + 1 } );
+ }
}
- } else {
+ }
+ else {
# if -m is not active, then the number of lines in old and new will be the same
- for (my $lineCount=0;$lineCount<=$#oldBody;$lineCount++){
- if ($oldBody[$lineCount] ne $newBody[$lineCount]){
- push(@diff,{old=>$oldBody[$lineCount],new=>$newBody[$lineCount],lineNumber=>$lineCount+1});
- }
+ for ( my $lineCount = 0; $lineCount <= $#oldBody; $lineCount++ ) {
+ if ( $oldBody[$lineCount] ne $newBody[$lineCount] ) {
+ push( @diff,
+ { old => $oldBody[$lineCount], new => $newBody[$lineCount], lineNumber => $lineCount + 1 } );
+ }
}
}
# initialise the old and new tmp body for storage
- my $tmpOldBody = '-';
- my $tmpNewBody = '+';
+ my $tmpOldBody = '-';
+ my $tmpNewBody = '+';
my $previousLineNumber = -1;
# and the 'diff chunk' storage array
- my @diffChunks = ();
- my $diffChunkFirstLineNumber = ${$diff[0]}{lineNumber};
+ my @diffChunks = ();
+ my $diffChunkFirstLineNumber = ${ $diff[0] }{lineNumber};
# ... and this loop combines the diffs into chunks
- for my $i (0..$#diff) {
+ for my $i ( 0 .. $#diff ) {
- my $currentLineNumber = ${$diff[$i]}{lineNumber};
+ my $currentLineNumber = ${ $diff[$i] }{lineNumber};
- if ($i == $#diff
- or ( $previousLineNumber>=0 and $currentLineNumber>($previousLineNumber+1) )){
+ if ( $i == $#diff
+ or ( $previousLineNumber >= 0 and $currentLineNumber > ( $previousLineNumber + 1 ) ) )
+ {
- my $lastLine = ${$diff[$i-1]}{lineNumber};
+ my $lastLine = ${ $diff[ $i - 1 ] }{lineNumber};
- if ($i == $#diff){
+ if ( $i == $#diff ) {
$lastLine = $currentLineNumber;
- $tmpOldBody .= ($tmpOldBody eq '-' ? q() : "\n-").${$diff[$i]}{old};
- $tmpNewBody .= ($tmpNewBody eq '+' ? q() : "\n+").${$diff[$i]}{new};
+ $tmpOldBody .= ( $tmpOldBody eq '-' ? q() : "\n-" ) . ${ $diff[$i] }{old};
+ $tmpNewBody .= ( $tmpNewBody eq '+' ? q() : "\n+" ) . ${ $diff[$i] }{new};
}
- push(@diffChunks, {old=>$tmpOldBody,
- new=>$tmpNewBody,
- firstLine=>$diffChunkFirstLineNumber,
- lastLine=>$lastLine } );
-
- $tmpOldBody = '-'.${$diff[$i]}{old} if defined ${$diff[$i]}{old};
- $tmpNewBody = '+'.${$diff[$i]}{new} if defined ${$diff[$i]}{new};
- $diffChunkFirstLineNumber = $currentLineNumber;
- } else {
- $tmpOldBody .= ($tmpOldBody eq '-' ? q() : "\n-").${$diff[$i]}{old} if defined ${$diff[$i]}{old};
- $tmpNewBody .= ($tmpNewBody eq '+' ? q() : "\n+").${$diff[$i]}{new} if defined ${$diff[$i]}{new};
+ push(
+ @diffChunks,
+ { old => $tmpOldBody,
+ new => $tmpNewBody,
+ firstLine => $diffChunkFirstLineNumber,
+ lastLine => $lastLine
+ }
+ );
+
+ $tmpOldBody = '-' . ${ $diff[$i] }{old} if defined ${ $diff[$i] }{old};
+ $tmpNewBody = '+' . ${ $diff[$i] }{new} if defined ${ $diff[$i] }{new};
+ $diffChunkFirstLineNumber = $currentLineNumber;
+ }
+ else {
+ $tmpOldBody .= ( $tmpOldBody eq '-' ? q() : "\n-" ) . ${ $diff[$i] }{old} if defined ${ $diff[$i] }{old};
+ $tmpNewBody .= ( $tmpNewBody eq '+' ? q() : "\n+" ) . ${ $diff[$i] }{new} if defined ${ $diff[$i] }{new};
}
- $previousLineNumber = ${$diff[$i]}{lineNumber};
+ $previousLineNumber = ${ $diff[$i] }{lineNumber};
}
# finally, output the diff chunks
- foreach (@diffChunks){
+ foreach (@diffChunks) {
$logger->info("@@ ${$_}{firstLine} -- ${$_}{lastLine} @@");
- $logger->info(${$_}{old});
- $logger->info(${$_}{new});
+ $logger->info( ${$_}{old} );
+ $logger->info( ${$_}{new} );
# possibly output to terminal
- if($is_check_verbose_switch_active){
+ if ($is_check_verbose_switch_active) {
print "\n@@ ${$_}{firstLine} -- ${$_}{lastLine} @@\n";
- print ${$_}{old},"\n";
- print ${$_}{new},"\n";
+ print ${$_}{old}, "\n";
+ print ${$_}{new}, "\n";
}
}
}