diff --git a/.clang-format b/.clang-format index 6a48e89..aaa052b 100644 --- a/.clang-format +++ b/.clang-format @@ -2,14 +2,14 @@ # --------------------------- # general style settings # --------------------------- -BasedOnStyle: '' # (LLVM,Google,Chromium,Mozilla,WebKit,Microsoft,GNU,InheritParentConfig) -Standard: Auto # automatically detect the language version -ColumnLimit: 0 # 0: disable column limit -LineEnding: LF # use LF line endings -UseTab: Neve # (Never,ForIndentation,ForContinuationAndIndentation,Always) -TabWidth: 4 # recommended to set this equal to IndentWidth -IndentWidth: 4 # how wide each indent is -ContinuationIndentWidth: 4 # width for a line continuation +BasedOnStyle: '' # (LLVM,Google,Chromium,Mozilla,WebKit,Microsoft,GNU,InheritParentConfig) +Standard: Auto # automatically detect the language version +ColumnLimit: 0 # 0: disable column limit +LineEnding: LF # use LF line endings +UseTab: Never # (Never,ForIndentation,ForContinuationAndIndentation,Always) +TabWidth: 4 # recommended to set this equal to IndentWidth +IndentWidth: 4 # how wide each indent is +ContinuationIndentWidth: 4 # width for a line continuation # --------------------------- # alignment options @@ -90,26 +90,18 @@ ReferenceAlignment: Pointer # (Pointer,Left,Right,Middle) # --------------------------- # include settings and sorting # --------------------------- -IncludeIsMainSourceRegex: '' # only [*.{c,cc,cpp,c++,cxx,m,mm}] are considered to be "main" -IncludeIsMainRegex: '([-_](test|unittest))?$' # regex used for identifying an include as "main", to assign catagory 0 -IncludeBlocks: Regroup # (Preserve,Merge,Regroup) +IncludeIsMainSourceRegex: '' # only [*.{c,cc,cpp,c++,cxx,m,mm}] are considered to be "main" +IncludeIsMainRegex: '([-_](test|unittest))?$' # regex used for identifying an include as "main", to assign catagory 0 +IncludeBlocks: Regroup # (Preserve,Merge,Regroup) IncludeCategories: - - Regex: '^' - Priority: 2 - SortPriority: 0 - CaseSensitive: false - - Regex: '^<.*\.h>' - Priority: 1 - SortPriority: 0 - CaseSensitive: false - - Regex: '^<.*' - Priority: 2 - SortPriority: 0 - CaseSensitive: false - - Regex: '.*' - Priority: 3 - SortPriority: 0 - CaseSensitive: false + - Regex: '^<.*\.h>' # system headers + Priority: 1 + SortPriority: 0 + CaseSensitive: true + - Regex: '^".*' # custom headers + Priority: 2 + SortPriority: 0 + CaseSensitive: true # --------------------------- # macro and language-specific settings @@ -137,116 +129,90 @@ WhitespaceSensitiveMacros: # --------------------------- # additional formatting and sorting details # --------------------------- -AllowAllArgumentsOnNextLine: true +AllowAllArgumentsOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false -EmptyLineAfterAccessModifier: Never -EmptyLineBeforeAccessModifier: LogicalBlock +EmptyLineAfterAccessModifier: Never # (Never,Leave,Always) +EmptyLineBeforeAccessModifier: LogicalBlock # (Never,Leave,LogicalBlock,Always) ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true # adds comments at namespace delimiters -MaxEmptyLinesToKeep: 4 -ReflowComments: true # reflow comment text to match column limits -RemoveBracesLLVM: false -SeparateDefinitionBlocks: Leave -ShortNamespaceLines: 1 -SortIncludes: CaseSensitive # (Never,CaseSensitive,CaseInsensitive) -SortJavaStaticImport: Before -SortUsingDeclarations: true +FixNamespaceComments: true # adds comments at namespace delimiters +MaxEmptyLinesToKeep: 4 # what the maximum amount of empty lines that we're allowed to keep +ReflowComments: true # reflow comment text to match column limits +RemoveBracesLLVM: false # don't automatically remove braces +SeparateDefinitionBlocks: Leave # (Leave,Always.Never) +ShortNamespaceLines: 1 # how many lines a namespaces can be to be regarded "short" +SortIncludes: CaseSensitive # (Never,CaseSensitive,CaseInsensitive) +SortJavaStaticImport: Before # (After,Before) +SortUsingDeclarations: LexicographicNumeric # (Never,Lexicographic,LexicographicNumeric) # --------------------------- # spacing options # --------------------------- -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: true -SpaceBeforeAssignmentOperators: true -SpaceBeforeCaseColon: false -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements # (ControlStatements,ControlStatementsExceptControlMacros,NonEmptyParentheses,Always,Custom) +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements # (ControlStatements,ControlStatementsExceptControlMacros,NonEmptyParentheses,Always,Custom) SpaceBeforeParensOptions: - AfterControlStatements: true - AfterForeachMacros: true - AfterFunctionDefinitionName: false + AfterControlStatements: true + AfterForeachMacros: true + AfterFunctionDefinitionName: false AfterFunctionDeclarationName: false - AfterIfMacros: true - AfterOverloadedOperator: false - BeforeNonEmptyParentheses: false -SpaceAroundPointerQualifiers: Default + AfterIfMacros: true + AfterOverloadedOperator: false + BeforeNonEmptyParentheses: false +SpaceAroundPointerQualifiers: Default # (Default,Before,After,Both) recommend to use Default and let PointerAlignment decide SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false +SpaceInEmptyBlock: true +SpacesInParens: Custom +SpacesInParensOptions: + ExceptDoubleParentheses: false + InConditionalStatements: false + InCStyleCasts: false + Other: false SpacesBeforeTrailingComments: 1 -SpacesInAngles: Never +SpacesInAngles: Never # (Never,Always,Leave) SpacesInConditionalStatement: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: true SpacesInLineCommentPrefix: Minimum: 1 Maximum: 1 -SpacesInParentheses: false -SpacesInSquareBrackets: false +SpacesInParentheses: false +SpacesInSquareBrackets: false SpaceBeforeSquareBrackets: false -BitFieldColonSpacing: Both +BitFieldColonSpacing: Both # (Both,None,Before,After) # --------------------------- # indentation details # --------------------------- IndentAccessModifiers: false -IndentCaseLabels: false -IndentCaseBlocks: false -IndentGotoLabels: true -IndentPPDirectives: None -IndentExternBlock: AfterExternBlock -IndentRequires: false -PPIndentWidth: 1 - -# --------------------------- -# raw string literal formats -# --------------------------- -RawStringFormats: - - Language: Cpp - Delimiters: - - cc - - CC - - cpp - - Cpp - - CPP - - 'c++' - - 'C++' - CanonicalDelimiter: '' - BasedOnStyle: google - - Language: TextProto - Delimiters: - - pb - - PB - - proto - - PROTO - EnclosingFunctions: - - EqualsProto - - EquivToProto - - PARSE_PARTIAL_TEXT_PROTO - - PARSE_TEST_PROTO - - PARSE_TEXT_PROTO - - ParseTextOrDie - - ParseTextProtoOrDie - - ParseTestProto - - ParsePartialTestProto - CanonicalDelimiter: pb - BasedOnStyle: google +IndentCaseLabels: false +IndentCaseBlocks: false +IndentGotoLabels: true +IndentExternBlock: AfterExternBlock # (AfterExternBlock,NoIndent,Indent) +IndentRequiresClause: false +IndentPPDirectives: AfterHash # preprocessor indent style (None,AfterHash,BeforeHash) +PPIndentWidth: 1 +--- # --------------------------- # JavaScript specific settings # --------------------------- -JavaScriptQuotes: Double +Language: JavaScript +JavaScriptQuotes: Double JavaScriptWrapImports: true +--- # --------------------------- # Objective-C specific settings # --------------------------- -ObjCBinPackProtocolList: Never -ObjCBlockIndentWidth: 4 +Language: ObjC +ObjCBinPackProtocolList: Never +ObjCBlockIndentWidth: 4 ObjCBreakBeforeNestedBlockParam: true -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true ...