--- # Clang-format settings for nlohmann/json # For more information, see https://clang.llvm.org/docs/ClangFormatStyleOptions.html # Language and general settings Language: Cpp Standard: Cpp11 DisableFormat: false # Indentation AccessModifierOffset: -2 ConstructorInitializerIndentWidth: 4 ContinuationIndentWidth: 0 IndentCaseLabels: true IndentPPDirectives: None IndentWidth: 4 IndentWrappedFunctionNames: false NamespaceIndentation: None ObjCBlockIndentWidth: 2 TabWidth: 4 UseTab: Never # Alignment AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false AlignConsecutiveDeclarations: false AlignEscapedNewlines: Right AlignOperands: true DerivePointerAlignment: false PointerAlignment: Left AlignTrailingComments: true # Braces BreakBeforeBraces: Custom Cpp11BracedListStyle: true BraceWrapping: AfterClass: true AfterControlStatement: true AfterEnum: false AfterFunction: true AfterNamespace: true AfterObjCDeclaration: true AfterStruct: true AfterUnion: true AfterExternBlock: false BeforeCatch: false BeforeElse: true IndentBraces: false SplitEmptyFunction: false SplitEmptyRecord: true SplitEmptyNamespace: true # Wrapping ColumnLimit: 120 AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: true BreakBeforeBinaryOperators: None BreakBeforeInheritanceComma: false BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false BreakConstructorInitializers: BeforeColon BreakAfterJavaFieldAnnotations: false BreakStringLiterals: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Empty AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false BinPackArguments: true BinPackParameters: true ExperimentalAutoDetectBinPacking: false # Comments ReflowComments: false CommentPragmas: '^ IWYU pragma:' # Empty lines KeepEmptyLinesAtTheStartOfBlocks: true MaxEmptyLinesToKeep: 1 # Spacing SpaceAfterCStyleCast: false SpaceAfterTemplateKeyword: false SpaceBeforeAssignmentOperators: true SpaceBeforeParens: ControlStatements SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 SpacesInAngles: false SpacesInContainerLiterals: true SpacesInCStyleCastParentheses: false SpacesInParentheses: false SpacesInSquareBrackets: false ObjCSpaceAfterProperty: false ObjCSpaceBeforeProtocolList: true # Includes SortIncludes: true IncludeBlocks: Preserve IncludeCategories: - Regex: '^"(llvm|llvm-c|clang|clang-c)/' Priority: 2 - Regex: '^(<|"(gtest|gmock|isl|nlohmann)/)' Priority: 3 - Regex: '.*' Priority: 1 IncludeIsMainRegex: '(Test)?$' SortUsingDeclarations: true # Namespaces FixNamespaceComments: true CompactNamespaces: false # Classes ConstructorInitializerAllOnOneLineOrOnePerLine: false # Macros MacroBlockBegin: '' MacroBlockEnd: '' # Penalties PenaltyBreakAssignment: 2 PenaltyBreakBeforeFirstCallParameter: 19 PenaltyBreakComment: 300 PenaltyBreakFirstLessLess: 120 PenaltyBreakString: 1000 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 60 ...