# # https://clang.llvm.org/docs/ClangFormatStyleOptions.html # # https://clang-format-configurator.site IndentWidth: 4 TabWidth: 4 UseTab: Never ColumnLimit: 80 AlignAfterOpenBracket: AlwaysBreak # Align, DontAlign, AlwaysBreak, BlockIndent AlignArrayOfStructures: Right # Left, Right AlignConsecutiveAssignments: Enabled: true AcrossEmptyLines: false AcrossComments: true AlignCompound: true PadOperators: true AlignConsecutiveBitFields: Enabled: true AcrossEmptyLines: false AcrossComments: true AlignCompound: true PadOperators: true AlignConsecutiveDeclarations: None AlignConsecutiveMacros: Enabled: true AcrossEmptyLines: false AcrossComments: true AlignCompound: true PadOperators: true AlignEscapedNewlines: Right # DontAlign, Left, Right AllowShortCaseLabelsOnASingleLine: true AlignConsecutiveShortCaseStatements: # AllowShortCaseLabelsOnASingleLine: true Enabled: false BreakBeforeBinaryOperators: true AlignOperands: AlignAfterOperator # Align, AlignAfterOperator AlignTrailingComments: Kind: Always # Leave, Always, Never OverEmptyLines: 1 AllowShortBlocksOnASingleLine: Never # Never, Empty, Always AllowShortEnumsOnASingleLine: false AllowShortFunctionsOnASingleLine: None # None, InlineOnly, Empty, Inline, All AllowShortIfStatementsOnASingleLine: Never # Never, WithoutElse, OnlyFirstIf, AllIfsAndElse AllowShortLambdasOnASingleLine: None # None, Empty, Inline, All AllowShortLoopsOnASingleLine: false AlwaysBreakAfterReturnType: All # None, All, TopLevel, AllDefinitions, TopLevelDefinitions AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: Yes # No, MultiLine, Yes # AttributeMacros # TODO AllowAllArgumentsOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false BinPackArguments: false BinPackParameters: false BitFieldColonSpacing: Both # Both, None, Before, After BreakBeforeBraces: Custom BraceWrapping: AfterCaseLabel: false AfterClass: true AfterControlStatement: MultiLine # Never, MultiLine, Always AfterEnum: true AfterFunction: true AfterNamespace: false AfterStruct: true AfterUnion: true AfterExternBlock: false BeforeCatch: true BeforeElse: true BeforeLambdaBody: false BeforeWhile: false IndentBraces: false SplitEmptyFunction: true SplitEmptyRecord: true SplitEmptyNamespace: true # BracedInitializerIndentWidth: 4 BreakAfterAttributes: Always # Always, Leave, Never # BreakBeforeBinaryOperators # TODO # BreakBeforeConceptDeclarations # TODO # BreakBeforeInlineASMColon # TODO BreakBeforeTernaryOperators: true ConstructorInitializerIndentWidth: 2 BreakConstructorInitializers: BeforeComma # BeforeColon, BeforeComma, AfterColon BreakInheritanceList: BeforeComma # BeforeColon, BeforeComma, AfterColon, AfterComma BreakStringLiterals: true # ColumnLimit # TODO # CommentPragmas # TODO CompactNamespaces: false # ContinuationIndentWidth: 4 Cpp11BracedListStyle: false DerivePointerAlignment: false # DisableFormat: false EmptyLineAfterAccessModifier: Never # Never, Leave, Always EmptyLineBeforeAccessModifier: Always # Never, Leave, LogicalBlock, Always ExperimentalAutoDetectBinPacking: false FixNamespaceComments: true # ForEachMacros: # IfMacros: IncludeBlocks: Preserve # Preserve, Merge, Regroup # IncludeCategories: # TODO # IncludeIsMainRegex # IncludeIsMainSourceRegex AccessModifierOffset: -2 IndentAccessModifiers: false IndentCaseBlocks: false IndentCaseLabels: true IndentExternBlock: NoIndent # AfterExternBlock, NoIndent, Indent IndentGotoLabels: false IndentPPDirectives: None # None, AfterHash, BeforeHash IndentRequiresClause: true # C++ # IndentWrappedFunctionNames: false InsertBraces: true InsertNewlineAtEOF: true # InsertTrailingCommas: #TODO # works only for C++14 and C23 # IntegerLiteralSeparator: # Binary: 4 # Decimal: 3 # Hex: 2 IntegerLiteralSeparator: Binary: -1 Decimal: -1 Hex: -1 KeepEmptyLinesAtEOF: false KeepEmptyLinesAtTheStartOfBlocks: false LambdaBodyIndentation: Signature # Signature, OuterScope # LineEnding: # MacroBlockBegin: # MacroBlockEnd: # Macros: MaxEmptyLinesToKeep: 1 NamespaceIndentation: None # None, Inner, All # NamespaceMacros: PPIndentWidth: -1 PackConstructorInitializers: Never # Never, BinPack, CurrentLine, NextLine, NextLineOnly # PenaltyBreakAssignment: # PenaltyBreakBeforeFirstCallParameter: # PenaltyBreakComment # PenaltyBreakFirstLessLess # PenaltyBreakOpenParenthesis # PenaltyBreakString # PenaltyBreakTemplateDeclaration # PenaltyExcessCharacter # PenaltyIndentedWhitespace # PenaltyReturnTypeOnItsOwnLine PointerAlignment: Left QualifierAlignment: Left # QualifierOrder: TODO # RawStringFormats: ReferenceAlignment: Left ReflowComments: true RemoveBracesLLVM: false RemoveParentheses: ReturnStatement RemoveSemicolon: true # RequiresClausePositionStyle: # TODO, C++ # RequiresExpressionIndentation: # TODO, C++ SeparateDefinitionBlocks: Always # ShortNamespaceLines: 1 SortIncludes: CaseSensitive SortUsingDeclarations: LexicographicNumeric SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false SpaceAfterTemplateKeyword: true SpaceAroundPointerQualifiers: Default SpaceBeforeAssignmentOperators: true SpaceBeforeCaseColon: false SpaceBeforeCpp11BracedList: false SpaceBeforeCtorInitializerColon: true SpaceBeforeInheritanceColon: true SpaceBeforeParens: ControlStatements SpaceBeforeRangeBasedForLoopColon: true SpaceBeforeSquareBrackets: false SpaceInEmptyBlock: false SpacesBeforeTrailingComments: 2 SpacesInAngles: Never SpacesInContainerLiterals: false SpacesInLineCommentPrefix: Minimum: 1 Maximum: -1 SpacesInParens: Never # SpacesInParensOptions: SpacesInSquareBrackets: false # StatementAttributeLikeMacros: # StatementMacros: # TypeNames: # TypenameMacros: # WhitespaceSensitiveMacros: