diff options
Diffstat (limited to '.clang-format')
-rw-r--r-- | .clang-format | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..d4a3d2cc --- /dev/null +++ b/.clang-format @@ -0,0 +1,182 @@ +# SPDX-FileCopyrightText: 2019 Kitsune Ral <Kitsune-Ral@users.sf.net> +# SPDX-FileCopyrightText: 2019 Marc Deop <marc@marcdeop.com> + +# SPDX-License-Identifier: LGPL-2.1-or-later + +# This is the clang-format configuration style to be used by libQuotient. +# Inspired by: +# https://code.qt.io/cgit/qt/qt5.git/plain/_clang-format +# https://wiki.qt.io/Qt_Coding_Style +# https://wiki.qt.io/Coding_Conventions +# Further information: https://clang.llvm.org/docs/ClangFormatStyleOptions.html + +# For convenience, the file includes commented out settings that we assume +# to borrow from the WebKit style. The values for such settings try to but +# are not guaranteed to coincide with the latest version of the WebKit style. + +# This file assumes ClangFormat 12 or newer + +--- +Language: Cpp +BasedOnStyle: WebKit +#AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +#AlignArrayOfStructures: None # ClangFormat 13 +#AlignConsecutiveMacros: None +#AlignConsecutiveAssignments: None +#AlignConsecutiveDeclarations: None +AlignEscapedNewlines: Left +AlignOperands: Align +#AlignTrailingComments: false +#AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +#AllowAllParametersOfDeclarationOnNextLine: true +#AllowShortEnumsOnASingleLine: true +#AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: true +#AllowShortFunctionsOnASingleLine: All +#AllowShortLambdasOnASingleLine: All +#AllowShortIfStatementsOnASingleLine: Never +#AllowShortLoopsOnASingleLine: false +#AlwaysBreakAfterDefinitionReturnType: None # deprecated +#AlwaysBreakAfterReturnType: None +#AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: Yes +#AttributeMacros: +# - __capability +#BinPackArguments: true +#BinPackParameters: true +BraceWrapping: +# AfterCaseLabel: false +# AfterClass: false + AfterControlStatement: Never # Switch to MultiLine with ClangFormat 14 (https://bugs.llvm.org/show_bug.cgi?id=47936) +# AfterEnum: false + AfterFunction: true +# AfterNamespace: false +# AfterStruct: false +# AfterUnion: false +# AfterExternBlock: false +# BeforeCatch: false +# BeforeElse: false +# BeforeLambdaBody: false # Blows up lambdas vertically, even if they become _very_ readable +# BeforeWhile: false +# IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: false +BreakBeforeBinaryOperators: NonAssignment +#BreakBeforeConceptDeclarations: true +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # deprecated? +#BreakInheritanceList: BeforeColon +#BreakBeforeTernaryOperators: true +#BreakConstructorInitializersBeforeComma: false # deprecated? +#BreakConstructorInitializers: BeforeComma +#BreakStringLiterals: true +ColumnLimit: 80 +#QualifierAlignment: Leave # ClangFormat 14? +#CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +#ConstructorInitializerIndentWidth: 4 +#ContinuationIndentWidth: 4 +#Cpp11BracedListStyle: true +#DeriveLineEnding: true +#DerivePointerAlignment: false +#EmptyLineAfterAccessModifier: Never # ClangFormat 14 +EmptyLineBeforeAccessModifier: LogicalBlock +#FixNamespaceComments: false # See ShortNamespaces below +IncludeBlocks: Regroup +IncludeCategories: + - Regex: '^<Qt.+/' + Priority: 24 + - Regex: '^<' + Priority: 32 + - Regex: '"csapi/' + Priority: 2 + - Regex: '"e2ee/' + Priority: 3 + - Regex: '"(events|jobs)/' + Priority: 4 + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(_test)?$' +#IncludeIsMainSourceRegex: '' +#IndentAccessModifiers: false # ClangFormat 13 +#IndentCaseLabels: false +#IndentCaseBlocks: false +IndentGotoLabels: false +IndentPPDirectives: AfterHash +#IndentExternBlock: AfterExternBlock +IndentRequires: true +#IndentWidth: 4 +#IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: false +#LambdaBodyIndentation: Signature # ClangFormat 13 +#MacroBlockBegin: '' +#MacroBlockEnd: '' +#MaxEmptyLinesToKeep: 1 +#NamespaceIndentation: Inner +PenaltyBreakAssignment: 10 +PenaltyBreakBeforeFirstCallParameter: 70 +PenaltyBreakComment: 45 +#PenaltyBreakFirstLessLess: 120 +#PenaltyBreakOpenParenthesis: 0 # ClangFormat 14 +PenaltyBreakString: 200 +#PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 40 +PenaltyReturnTypeOnItsOwnLine: 200 +#PenaltyIndentedWhitespace: 0 +#PointerAlignment: Left +#PPIndentWidth: -1 +#ReferenceAlignment: Pointer # ClangFormat 13 +#ReflowComments: true +#ShortNamespaceLines: 1 # ClangFormat 13 - to use with FixNamespaceComments +#SortIncludes: true +#SortUsingDeclarations: true +#SpaceAfterCStyleCast: false +#SpaceAfterLogicalNot: false +#SpaceAfterTemplateKeyword: true +#SpaceBeforeAssignmentOperators: true +#SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +#SpaceBeforeCtorInitializerColon: true +#SpaceBeforeInheritanceColon: true +#SpaceBeforeParens: ControlStatements +#SpaceBeforeParensOptions: # ClangFormat 14 +# AfterControlStatements: true +# AfterForeachMacros: true +# AfterFunctionDefinitionName: false +# AfterFunctionDeclarationName: false +# AfterIfMacros: true +# AfterOverloadedOperator: false +# BeforeNonEmptyParentheses: false +SpaceAroundPointerQualifiers: After +#SpaceBeforeRangeBasedForLoopColon: true +SpaceInEmptyBlock: false +#SpaceInEmptyParentheses: false +#SpacesBeforeTrailingComments: 1 +#SpacesInAngles: false # 'Never' since ClangFormat 13 +#SpacesInConditionalStatement: false +SpacesInContainerLiterals: false +#SpacesInCStyleCastParentheses: false +#SpacesInLineCommentPrefix: # ClangFormat 13 +# Minimum: 1 +# Maximum: -1 +#SpacesInParentheses: false +#SpacesInSquareBrackets: false +#SpaceBeforeSquareBrackets: false +#BitFieldColonSpacing: Both +Standard: c++20 +StatementAttributeLikeMacros: + - Q_EMIT + - emit +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION + - DEFINE_EVENT_TYPEID +TabWidth: 4 +#UseCRLF: false +#UseTab: Never +#WhitespaceSensitiveMacros: [] # Whatever's the default, not using it +... + |