diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-03-05 12:19:45 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-05 13:02:23 -0800 |
commit | 1b103c5c69083a106e88cb423bab8ade639c71d6 (patch) | |
tree | 0105337ce49ba6b49a1d9f514d284f6e69bd3533 /scripts/whitespace.pl | |
parent | 13a2f14be03d0493682917959e0a61bee686eced (diff) | |
download | subsurface-1b103c5c69083a106e88cb423bab8ade639c71d6.tar.gz |
Another small tweak to whitespace tool
clang-format doesn't appear to reindent multi line #define statements
correctly - so this hopefully will clean those up.
The included whitespace corrections to the code should stay in place when
using the updated tool.
This includes cleaning up some multi-line comments that were messed up the
last time around as well as a few other minor changes.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'scripts/whitespace.pl')
-rw-r--r-- | scripts/whitespace.pl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/whitespace.pl b/scripts/whitespace.pl index ba97873cf..0340d25fb 100644 --- a/scripts/whitespace.pl +++ b/scripts/whitespace.pl @@ -11,9 +11,25 @@ $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; $source =~ s/^(\s*class.*)\n\s*{\s*$/$1 {/img; +# colon goes at the end of a line $source =~ s/^(\S*::\S*.*)\n\s*: /$1 : /img; +# odd indentations from flang-format: +# six spaces or four spaces after tabs (for continuation strings) $source =~ s/(?:\G|^)[ ]{6}/\t/mg; $source =~ s/(?:\G|^)(\t*)[ ]{4}"/$1\t"/mg; +# the next ones are rather awkward +# they capture multi line #define and #if definded statements +# that clang-format messes up (where does that 4 space indentation come +# from? +# I couldn't figure out how to make it apply to an arbitrary number of +# intermediate lines, so I hardcoded 0 through 5 lines between the #define +# or #id defined statements and the end of the multi line statement +$source =~ s/^(#(?:if |)define.*)\n +([^*].*)$/$1\n\t$2/mg; +$source =~ s/^(#(?:if |)define.*)((?:\\\n.*){1})\n +([^*].*)$/$1$2\n\t$3/mg; +$source =~ s/^(#(?:if |)define.*)((?:\\\n.*){2})\n +([^*].*)$/$1$2\n\t$3/mg; +$source =~ s/^(#(?:if |)define.*)((?:\\\n.*){3})\n +([^*].*)$/$1$2\n\t$3/mg; +$source =~ s/^(#(?:if |)define.*)((?:\\\n.*){4})\n +([^*].*)$/$1$2\n\t$3/mg; +$source =~ s/^(#(?:if |)define.*)((?:\\\n.*){5})\n +([^*].*)$/$1$2\n\t$3/mg; # don't put line break before the last single term argument of a # calculation $source =~ s/(?:\G|^)(.*[+-])\n\s*(\S*\;)$/$1 $2/mg; |