2014-02-12 22:30:03 -08:00
|
|
|
#! /usr/bin/perl
|
|
|
|
|
|
|
|
my $input = $ARGV[0];
|
|
|
|
my $source = `clang-format $input`;
|
2014-03-03 13:25:55 -08:00
|
|
|
# for_each_dive (...) and Q_FOREACH and friends...
|
2014-02-12 22:30:03 -08:00
|
|
|
$source =~ s/^(.*each.*\(.*\).*)\n\s*{\s*$/$1 {/img;
|
2014-03-03 13:25:55 -08:00
|
|
|
$source =~ s/(?:\G|^)(\s+[^#\/*].*each.*\(.*\))\n(\s*)([^{}\s])/$1\n\t$2$3/img;
|
|
|
|
|
2014-02-16 15:38:01 -08:00
|
|
|
$source =~ s/^(\s*struct[^()\n]*)\n\s*{\s*$/$1 {/img;
|
|
|
|
$source =~ s/^(\s*static\s+struct[^()\n]*)\n\s*{\s*$/$1 {/img;
|
|
|
|
$source =~ s/^(\s*union[^()\n]*)\n\s*{\s*$/$1 {/img;
|
|
|
|
$source =~ s/^(\s*static\s+union[^()\n]*)\n\s*{\s*$/$1 {/img;
|
2014-02-13 22:08:09 -08:00
|
|
|
$source =~ s/^(\s*class.*)\n\s*{\s*$/$1 {/img;
|
|
|
|
$source =~ s/^(\S*::\S*.*)\n\s*: /$1 : /img;
|
2014-02-12 22:30:03 -08:00
|
|
|
$source =~ s/(?:\G|^)[ ]{6}/\t/mg;
|
2014-02-13 22:08:09 -08:00
|
|
|
$source =~ s/(?:\G|^)(\t*)[ ]{4}"/$1\t"/mg;
|
2014-03-03 13:25:55 -08:00
|
|
|
# don't put line break before the last single term argument of a
|
|
|
|
# calculation
|
|
|
|
$source =~ s/(?:\G|^)(.*[+-])\n\s*(\S*\;)$/$1 $2/mg;
|
2014-02-12 22:30:03 -08:00
|
|
|
open (DIFF, "| diff -u $input -");
|
|
|
|
print DIFF $source ;
|