clang-format: indent preprocessor directives after hash

We do not have a rule around the indentation of preprocessor directives.
This was also discussed on the list [1], noting how there is often
inconsistency in the styling. While there was discussion, there was no
conclusion around what is the preferred style here. One style being
indenting after the hash:

    #if FOO
    #  if BAR
    #    include <foo>
    #  endif
    #endif

The other being before the hash:

    #if FOO
      #if BAR
        #include <foo>
      #endif
    #endif

Let's pick the former and add 'IndentPPDirectives: AfterHash' value to
our '.clang-format'. There is no clear reason to pick one over the
other, but it would definitely be nicer to be consistent.

[1]: https://lore.kernel.org/r/xmqqwmmm1bw6.fsf@gitster.g

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Karthik Nayak 2024-07-23 10:21:06 +02:00 committed by Junio C Hamano
parent 557ae147e6
commit e3ea432528
1 changed files with 6 additions and 0 deletions

View File

@ -96,6 +96,12 @@ BreakStringLiterals: false
# Switch statement body is always indented one level more than case labels.
IndentCaseLabels: false

# Indents directives before the hash.
# #if FOO
# # include <foo>
# #endif
IndentPPDirectives: AfterHash

# Don't indent a function definition or declaration if it is wrapped after the
# type
IndentWrappedFunctionNames: false