mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Add find-longlines utility (find *.[CH] files that violate 80-cols)
This commit is contained in:
@ -11,4 +11,5 @@ Misc Tools
|
||||
1. find-templateInComments
|
||||
2. find-its
|
||||
3. find-junkFiles
|
||||
4. find-longlines
|
||||
|
||||
|
||||
46
doc/Doxygen/tools/find-longlines
Executable file
46
doc/Doxygen/tools/find-longlines
Executable file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use File::Find ();
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
#
|
||||
# Script
|
||||
# find-longlines
|
||||
#
|
||||
# Description
|
||||
# Search for *.[CH] files that exceed the 80-column width
|
||||
#
|
||||
# - print filename lineNumber and offending line (with truncation point)
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
my $maxlen = 80;
|
||||
my $re_filespec = qr{^.+\.[CH]$};
|
||||
my $count;
|
||||
|
||||
sub wanted {
|
||||
unless ( lstat($_) and -f _ and -r _ and not -l _ and /$re_filespec/ ) {
|
||||
return;
|
||||
}
|
||||
|
||||
local @ARGV = $_;
|
||||
while (<>) {
|
||||
chomp;
|
||||
s{\s+$}{}; # trim
|
||||
|
||||
if ( $maxlen < length ) {
|
||||
$count++;
|
||||
substr( $_, $maxlen, 0 ) = "||->>"; # show truncation point
|
||||
print "$ARGV $. $_\n";
|
||||
}
|
||||
}
|
||||
close ARGV;
|
||||
}
|
||||
|
||||
## Traverse desired filesystems
|
||||
for my $dir (@ARGV) {
|
||||
no warnings 'File::Find';
|
||||
warn "(**) checking '$dir' ...\n";
|
||||
File::Find::find( { wanted => \&wanted }, $dir );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user