timescaledb/.clang-format
Sven Klemm 5c0939e035 Make clang-format sort includes
To reduce amount of noise due to include sorting have clang-format
enforce consistent sorting across all includes.
2024-05-25 20:05:20 +02:00

127 lines
4.4 KiB
YAML

---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None # option is deprecated
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: false
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: true
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false # N/A C++
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false # N/A Java
BreakStringLiterals: true
ColumnLimit: 100
CommentPragmas: '^ TS Pragma:' #For future proofing
CompactNamespaces: false # N/A c++
ConstructorInitializerAllOnOneLineOrOnePerLine: false # N/A C++
ConstructorInitializerIndentWidth: 40 # N/A C++
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false # see catalog.c array struct assigns for an example
DerivePointerAlignment: false # always use Right
DisableFormat: false # haha
# ExperimentalAutoDetectBinPacking: false #the docs say not to have this in config file
FixNamespaceComments: true # N/A C++
ForEachMacros:
- foreach
- forboth
- for_each_cell
- for_both_cell
- forthree
IncludeBlocks: Preserve # separate include blocks will not be merged
IncludeCategories: # we want to ensure c.h and postgres.h appear first
- Regex: '^<(string|unistd)\.h>'
Priority: -2
- Regex: '^<postgres\.h>'
Priority: -1
- Regex: '^(<|")compat/compat\.h'
Priority: -2
- Regex: '^"compat/compat-msvc-enter\.h'
Priority: -1
- Regex: '^"compat/compat-msvc-exit\.h'
Priority: 2000000000
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '' # filename_<suffix> will be seen as the primary include
IndentCaseLabels: true
IndentPPDirectives: None # do not indent preprocessor directives after the '#'
IndentWidth: 4
IndentWrappedFunctionNames: false # we do not indent the function name in the declaration
JavaScriptQuotes: Double # N/A js
JavaScriptWrapImports: true # N/A js
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: '' # regex of macros that behave like '{'
MacroBlockEnd: '' # regex of macros that behave like '}'
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None # N/A c++
ObjCBinPackProtocolList: Auto # N/A objC
ObjCBlockIndentWidth: 2 # N/A objC
ObjCSpaceAfterProperty: false # N/A objC
ObjCSpaceBeforeProtocolList: true # N/A objC
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 10000
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right # as in char *foo;
ReflowComments: true # break up long comments into multiple lines
SortIncludes: CaseInsensitive # sort includes
SortUsingDeclarations: false # N/A c++
SpaceAfterCStyleCast: true
SpaceAfterTemplateKeyword: false # N/A c++
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true # N/A c++
SpaceBeforeInheritanceColon: false # N/A c++
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true # N/A C++
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false # N/A c++
SpacesInContainerLiterals: true # N/A c++
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 4
UseTab: Always
...