# Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # https://releases.llvm.org/9.0.0/tools/clang/docs/ClangFormatStyleOptions.html --- # Language: Cpp BasedOnStyle: LLVM # AccessModifierOffset: -2 AccessModifierOffset: -4 # AlignAfterOpenBracket: Align AlignAfterOpenBracket: DontAlign # AlignConsecutiveMacros: false AlignConsecutiveMacros: true # AlignConsecutiveAssignments: false AlignConsecutiveAssignments: true # AlignConsecutiveDeclarations: false # AlignEscapedNewlines: Right AlignEscapedNewlines: Left # AlignOperands: true # AlignTrailingComments: true AlignTrailingComments: false # AllowAllArgumentsOnNextLine: true # AllowAllConstructorInitializersOnNextLine: true # AllowAllParametersOfDeclarationOnNextLine: true # AllowShortBlocksOnASingleLine: false # AllowShortCaseLabelsOnASingleLine: false # AllowShortFunctionsOnASingleLine: All AllowShortFunctionsOnASingleLine: Empty # AllowShortLambdasOnASingleLine: All # AllowShortIfStatementsOnASingleLine: Never # AllowShortLoopsOnASingleLine: false # AlwaysBreakAfterDefinitionReturnType: None # AlwaysBreakAfterReturnType: None # AlwaysBreakBeforeMultilineStrings: false # AlwaysBreakTemplateDeclarations: MultiLine AlwaysBreakTemplateDeclarations: Yes # BinPackArguments: true # BinPackParameters: true # BraceWrapping: # AfterCaseLabel: false # AfterClass: false # AfterControlStatement: false # AfterEnum: false # AfterFunction: false # AfterNamespace: false # AfterObjCDeclaration: false # AfterStruct: false # AfterUnion: false # AfterExternBlock: false # BeforeCatch: false # BeforeElse: false # IndentBraces: false # SplitEmptyFunction: true # SplitEmptyRecord: true # SplitEmptyNamespace: true # BreakBeforeBinaryOperators: None BreakBeforeBinaryOperators: NonAssignment # BreakBeforeBraces: Attach # BreakBeforeInheritanceComma: false # BreakInheritanceList: BeforeColon # BreakBeforeTernaryOperators: true # BreakConstructorInitializersBeforeComma: false # BreakConstructorInitializers: BeforeColon # BreakAfterJavaFieldAnnotations: false # BreakStringLiterals: true # ColumnLimit: 80 ColumnLimit: 120 # CommentPragmas: '^ IWYU pragma:' # CompactNamespaces: false # ConstructorInitializerAllOnOneLineOrOnePerLine: false # ConstructorInitializerIndentWidth: 4 # ContinuationIndentWidth: 4 # Cpp11BracedListStyle: true # DerivePointerAlignment: false # DisableFormat: false # ExperimentalAutoDetectBinPacking: false # TRANSITION, LLVM-39247, fixed in clang-format 10. # FixNamespaceComments: true FixNamespaceComments: false # ForEachMacros: # - foreach # - Q_FOREACH # - BOOST_FOREACH # IncludeBlocks: Preserve IncludeBlocks: Regroup # IncludeCategories: # - Regex: '^"(llvm|llvm-c|clang|clang-c)/' # Priority: 2 # - Regex: '^(<|"(gtest|gmock|isl|json)/)' # Priority: 3 # - Regex: '.*' # Priority: 1 IncludeCategories: - Regex: '^$' Priority: 1 - Regex: '^<(Windows|userenv)\.h>$' Priority: 3 - Regex: '^$' Priority: 4 - Regex: '.*' Priority: 2 # IncludeIsMainRegex: '(Test)?$' # IndentCaseLabels: false # IndentPPDirectives: None # IndentWidth: 2 IndentWidth: 4 # IndentWrappedFunctionNames: false IndentWrappedFunctionNames: true # JavaScriptQuotes: Leave # JavaScriptWrapImports: true # KeepEmptyLinesAtTheStartOfBlocks: true # NOTE: MacroBlockBegin/MacroBlockEnd don't work with _CATCH_ALL. # MacroBlockBegin: '' # MacroBlockEnd: '' # MaxEmptyLinesToKeep: 1 MaxEmptyLinesToKeep: 2 # NamespaceIndentation: None NamespaceIndentation: All # ObjCBinPackProtocolList: Auto # ObjCBlockIndentWidth: 2 # ObjCSpaceAfterProperty: false # ObjCSpaceBeforeProtocolList: true # PenaltyBreakAssignment: 2 # PenaltyBreakBeforeFirstCallParameter: 19 # PenaltyBreakComment: 300 # PenaltyBreakFirstLessLess: 120 # PenaltyBreakString: 1000 # PenaltyBreakTemplateDeclaration: 10 # PenaltyExcessCharacter: 1000000 # PenaltyReturnTypeOnItsOwnLine: 60 # PointerAlignment: Right PointerAlignment: Left # ReflowComments: true # SortIncludes: true # SortUsingDeclarations: true # SpaceAfterCStyleCast: false SpaceAfterCStyleCast: true # SpaceAfterLogicalNot: false # SpaceAfterTemplateKeyword: true # SpaceBeforeAssignmentOperators: true # SpaceBeforeCpp11BracedList: false # SpaceBeforeCtorInitializerColon: true # SpaceBeforeInheritanceColon: true # SpaceBeforeParens: ControlStatements # SpaceBeforeRangeBasedForLoopColon: true # SpaceInEmptyParentheses: false # SpacesBeforeTrailingComments: 1 # SpacesInAngles: false # SpacesInContainerLiterals: true # SpacesInCStyleCastParentheses: false # SpacesInParentheses: false # SpacesInSquareBrackets: false # Standard: Cpp11 # NOTE: _STD_BEGIN, _STD_END, etc. aren't macros for complete statements, but telling clang-format that they are # produces the behavior that we want (with no block indentation). # StatementMacros: # - Q_UNUSED # - QT_REQUIRE_VERSION StatementMacros: - _STD_BEGIN - _STD_END - _STDEXT_BEGIN - _STDEXT_END - _EXTERN_C - _END_EXTERN_C - _EXTERN_C_UNLESS_PURE - _END_EXTERN_C_UNLESS_PURE # TabWidth: 8 # UseTab: Never ...