.clang-format

application/octet-stream

Filename: .clang-format
Type: application/octet-stream
Part: 1
Message: Re: run pgindent on a regular basis / scripted manner
# From the default styles we seem closest to GNU style
BasedOnStyle: GNU

# Includes are not sorted now. It might be nice to change that in the future,
# but for now we keep the status quo here.
SortIncludes: Never

TabWidth: 4
IndentWidth: 4
UseTab: Always
SpaceBeforeParens: ControlStatements
# Seems possibly nice to use, but docs warn about possibly changing meaning of
# code
# RemoveBracesLLVM: true

# AlignConsecutiveMacros: AcrossEmptyLines
AlignConsecutiveDeclarations: Consecutive
AlignEscapedNewlines: DontAlign

BreakBeforeBraces: Custom
BraceWrapping:
  AfterEnum: true
  AfterStruct: true
  AfterCaseLabel: true
  AfterControlStatement: Always
  AfterFunction: true
  AfterUnion: true
  BeforeElse: true
  SplitEmptyFunction: false
IndentCaseLabels:  true
IndentCaseBlocks: true

# AlwaysBreakBeforeMultilineStrings: false

# Currently postgres source code is not consistent in binpacking or
# un-binpacking arguments and parameters. If we decide to use clang-format we
# need to decide what behaviour we want.
BinPackArguments: false
BinPackParameters: false
# Enabling the following parameter causes less change in parameters, but docs
# warn about it being expirimental. Maybe that's fine, because this option
# exists since clang-format 3.7.
# ExperimentalAutoDetectBinPacking: true

# PointerAlignment: Right

SpaceAfterCStyleCast: true

BreakBeforeBinaryOperators: true