mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-14 09:37:00 +08:00
We are switching from pgindent to clang-format for several reasons: 1) pgindent is harder to set up and depends on other tools like gobjdump that differ between OSes making it harder to set up a proper development environment. 2) clang-format is more standard and works better with various IDEs and editors. Our clang-format wrapper script is transactional in that this version of the script copies all files to a temporary directory, runs clang-format in the temp dir, and only then copies the files back. This should prevent mis-formatting when the script is cancled in the middle of running. We changes travis to use clang-format instead of pgindent and thus it uses a different docker image to do the format test. We also changes travis to use the new clang docker image for the license check and prefix checks for consistency. This also paves the way for us to use more clang features for tests in the future.
120 lines
4.1 KiB
YAML
120 lines
4.1 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:
|
|
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: '.*'
|
|
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
|
|
...
|