.clang-format 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. ---
  2. Language: Cpp
  3. AlignAfterOpenBracket: Align
  4. AlignArrayOfStructures: Left
  5. AlignConsecutiveAssignments: AcrossComments
  6. AlignConsecutiveBitFields: AcrossComments
  7. AlignConsecutiveDeclarations: AcrossComments
  8. AlignConsecutiveMacros: AcrossComments
  9. # AlignConsecutiveShortCaseStatements: AcrossComments
  10. AlignEscapedNewlines: Left # LeftWithLastLine
  11. AlignOperands: Align
  12. AlignTrailingComments:
  13. Kind: Always
  14. OverEmptyLines: 1
  15. AllowAllArgumentsOnNextLine: true
  16. AllowAllParametersOfDeclarationOnNextLine: false
  17. # AllowBreakBeforeNoexceptSpecifier: OnlyWithParen
  18. AllowShortBlocksOnASingleLine: Never
  19. AllowShortCaseLabelsOnASingleLine: false
  20. AllowShortFunctionsOnASingleLine: Inline
  21. AllowShortIfStatementsOnASingleLine: Never
  22. AllowShortLambdasOnASingleLine: Inline
  23. AllowShortLoopsOnASingleLine: false
  24. AlwaysBreakBeforeMultilineStrings: true
  25. BinPackArguments: false
  26. BinPackParameters: false # OnePerLine
  27. BitFieldColonSpacing: Both
  28. BreakBeforeBraces: Custom # Attach
  29. BraceWrapping:
  30. AfterCaseLabel: true
  31. AfterClass: false
  32. AfterControlStatement: false
  33. AfterEnum: false
  34. AfterFunction: false
  35. AfterNamespace: false
  36. AfterObjCDeclaration: false
  37. AfterStruct: false
  38. AfterUnion: false
  39. AfterExternBlock: false
  40. BeforeCatch: false
  41. BeforeElse: false
  42. BeforeLambdaBody: false
  43. BeforeWhile: false
  44. IndentBraces: false
  45. SplitEmptyFunction: false
  46. SplitEmptyRecord: false
  47. SplitEmptyNamespace: false
  48. # BreakAdjacentStringLiterals: true
  49. BreakAfterAttributes: Never
  50. BreakBeforeBinaryOperators: None
  51. BreakBeforeInlineASMColon: OnlyMultiline
  52. BreakBeforeTernaryOperators: false
  53. # BreakBinaryOperations: Never
  54. BreakConstructorInitializers: AfterColon
  55. # BreakFunctionDefinitionParameters: false
  56. BreakInheritanceList: AfterComma
  57. BreakStringLiterals: true
  58. # BreakTemplateDeclarations: Yes
  59. ColumnLimit: 120
  60. CommentPragmas: '^ IWYU pragma:'
  61. CompactNamespaces: false
  62. ConstructorInitializerIndentWidth: 4
  63. ContinuationIndentWidth: 4
  64. Cpp11BracedListStyle: false
  65. DerivePointerAlignment: false
  66. DisableFormat: false
  67. EmptyLineBeforeAccessModifier: Leave
  68. EmptyLineAfterAccessModifier: Never
  69. ExperimentalAutoDetectBinPacking: false
  70. FixNamespaceComments: true
  71. IncludeBlocks: Regroup
  72. IncludeCategories:
  73. - Regex: '".*"'
  74. Priority: 1
  75. SortPriority: 0
  76. - Regex: '^<.*\.h>'
  77. Priority: 2
  78. SortPriority: 0
  79. - Regex: '^<.*'
  80. Priority: 3
  81. SortPriority: 0
  82. - Regex: '.*'
  83. Priority: 4
  84. SortPriority: 0
  85. IncludeIsMainRegex: '([-_](test|unittest))?$'
  86. IncludeIsMainSourceRegex: ''
  87. IndentAccessModifiers: false
  88. IndentCaseBlocks: true
  89. IndentCaseLabels: true
  90. IndentExternBlock: NoIndent
  91. IndentGotoLabels: false
  92. IndentPPDirectives: AfterHash
  93. IndentWidth: 4
  94. IndentWrappedFunctionNames: false
  95. InsertBraces: true # NOTE: may lead to incorrect formatting
  96. InsertNewlineAtEOF: true
  97. JavaScriptQuotes: Leave
  98. JavaScriptWrapImports: true
  99. KeepEmptyLinesAtTheStartOfBlocks: false
  100. LambdaBodyIndentation: Signature
  101. LineEnding: LF
  102. MacroBlockBegin: ''
  103. MacroBlockEnd: ''
  104. MaxEmptyLinesToKeep: 1
  105. NamespaceIndentation: None
  106. ObjCBinPackProtocolList: Auto
  107. ObjCBlockIndentWidth: 4
  108. ObjCSpaceAfterProperty: true
  109. ObjCSpaceBeforeProtocolList: true
  110. PPIndentWidth: -1
  111. PackConstructorInitializers: CurrentLine
  112. PenaltyBreakAssignment: 2
  113. PenaltyBreakBeforeFirstCallParameter: 1
  114. PenaltyBreakComment: 300
  115. PenaltyBreakFirstLessLess: 120
  116. PenaltyBreakString: 1000
  117. PenaltyBreakTemplateDeclaration: 10
  118. PenaltyExcessCharacter: 1000000
  119. PenaltyReturnTypeOnItsOwnLine: 200
  120. PointerAlignment: Middle
  121. QualifierAlignment: Left
  122. #QualifierOrder: ['static', 'inline', 'friend', 'constexpr', 'const', 'volatile', 'type', 'restrict']
  123. RawStringFormats:
  124. - Language: Cpp
  125. Delimiters:
  126. - cc
  127. - CC
  128. - cpp
  129. - Cpp
  130. - CPP
  131. - 'c++'
  132. - 'C++'
  133. CanonicalDelimiter: ''
  134. ReferenceAlignment: Middle
  135. ReflowComments: false # IndentOnly
  136. SeparateDefinitionBlocks: Always
  137. SortIncludes: CaseInsensitive
  138. SortUsingDeclarations: LexicographicNumeric
  139. SpaceAfterCStyleCast: true
  140. SpaceAfterLogicalNot: false
  141. SpaceAfterTemplateKeyword: true
  142. SpaceBeforeAssignmentOperators: true
  143. SpaceBeforeCpp11BracedList: false
  144. SpaceBeforeCtorInitializerColon: true
  145. SpaceBeforeInheritanceColon: true
  146. SpaceBeforeParens: ControlStatements
  147. SpaceBeforeRangeBasedForLoopColon: true
  148. SpaceInEmptyBlock: false
  149. SpaceInEmptyParentheses: false
  150. SpacesBeforeTrailingComments: 2
  151. SpacesInAngles: Never
  152. SpacesInContainerLiterals: true
  153. SpacesInLineCommentPrefix:
  154. Minimum: 1
  155. Maximum: -1
  156. SpacesInParentheses: false
  157. SpacesInSquareBrackets: false
  158. SpaceBeforeSquareBrackets: false
  159. Standard: c++17
  160. TabWidth: 4
  161. UseTab: Never
  162. WhitespaceSensitiveMacros: ['STRINGIZE']
  163. ...