summaryrefslogtreecommitdiffstats
path: root/scripts/whitespace.pl
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-05 12:19:45 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-05 13:02:23 -0800
commit1b103c5c69083a106e88cb423bab8ade639c71d6 (patch)
tree0105337ce49ba6b49a1d9f514d284f6e69bd3533 /scripts/whitespace.pl
parent13a2f14be03d0493682917959e0a61bee686eced (diff)
downloadsubsurface-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.pl16
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;