From f2b357279928fc6b3b2e228d0a3d6ab1774cc3c3 Mon Sep 17 00:00:00 2001 From: Heikki Hellgren Date: Thu, 18 Oct 2018 15:28:40 +0300 Subject: [PATCH] Add .clang-format file for json Almost with same configuration used this far in the software. Minor changes here and there might occur. --- .clang-format | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..21a0eaaf0 --- /dev/null +++ b/.clang-format @@ -0,0 +1,138 @@ +--- +# 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 + +# Misc +RawStringFormats: + - Delimiter: pb + Language: TextProto + BasedOnStyle: google +... +