mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-27 20:58:47 +00:00
Small edit of whitespace script
This makes sure we don't end up indenting macro invocations. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
19871a6ab2
commit
68b5fe9ccb
1 changed files with 8 additions and 0 deletions
|
@ -2,6 +2,7 @@
|
|||
|
||||
my $input = $ARGV[0];
|
||||
my $source = `clang-format $input`;
|
||||
|
||||
# for_each_dive (...) and Q_FOREACH and friends...
|
||||
$source =~ s/(?:\G|^)(.*each.*\(.*) \* (\S.*\))$/$1 *$2/img; # if a variable is declared in the argument, '*' is an indicator for a pointer, not arithmatic
|
||||
$source =~ s/(?:\G|^)(.*each.*\(.*) \& (\S.*\))$/$1 &$2/img; # if a variable is declared in the argument, '&' is an indicator for a reference, not bit logic
|
||||
|
@ -15,14 +16,18 @@ $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;
|
||||
|
||||
# a namespace shouldn't look like a function
|
||||
$source =~ s/(?:\G|^)(namespace.*)\n\{/$1 {/img;
|
||||
|
||||
# colon goes at the end of a line
|
||||
$source =~ s/^(\S*::\S*.*)\n\s*: /$1 : /img;
|
||||
|
||||
# odd indentations from clang-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
|
||||
|
@ -36,12 +41,14 @@ $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;
|
||||
|
||||
sub indent_ctor_init_lists {
|
||||
my($content) = @_;
|
||||
|
||||
# all caps/_ with just an argument list is a macro invocation and shouldn't be moved
|
||||
my @not_ctor_words = qw(
|
||||
\bdo\b
|
||||
\belse\b
|
||||
|
@ -52,6 +59,7 @@ sub indent_ctor_init_lists {
|
|||
\bwhile\b
|
||||
\btr\b
|
||||
\bconnect\b
|
||||
^[A-Z_]+\(.*\)$
|
||||
);
|
||||
|
||||
my $regexStr = "(" . join("|", @not_ctor_words) . ")";
|
||||
|
|
Loading…
Reference in a new issue