timescaledb/.clang-format
Alexander Kuzmenkov 7758f5959c Update .clang-format for version 14
The only configuration we're missing is the newline for braces after
case labels. The rest of the differences looks like bugs/omissions of
the version 8 that we use now.

Require clang-format-14 in cmake and use it in the CI check. We can't
support versions earlier than 14 because they have some
formatting differences that can't be configured.
2022-10-10 17:12:36 +03:00

122 lines
4.2 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_each_cell_compat
- 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: '.*'
Priority: 1
- Regex: '^<c\.h>'
Priority: -1
- Regex: '^<postgres\.h>'
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: false # keep includes in the same order as we write them
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
...