Files
zeal/.clang-format
2026-04-12 13:11:03 +03:00

156 lines
3.5 KiB
YAML

---
Language: Cpp
Standard: c++20
# Indentation
IndentWidth: 4
TabWidth: 4
UseTab: Never
IndentCaseLabels: false
IndentPPDirectives: None
IndentWrappedFunctionNames: false
NamespaceIndentation: None
AccessModifierOffset: -4
ContinuationIndentWidth: 4
# Line width
ColumnLimit: 120
# Braces
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: Never
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterStruct: true
AfterUnion: true
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
InsertBraces: true
# Pointer/reference alignment
PointerAlignment: Right
ReferenceAlignment: Pointer
DerivePointerAlignment: false
# Qualifiers
QualifierAlignment: Left
# Constructor initializers
BreakConstructorInitializers: BeforeComma
ConstructorInitializerIndentWidth: 4
PackConstructorInitializers: Never
# Inheritance
BreakInheritanceList: BeforeComma
# Arguments and parameters
AlignAfterOpenBracket: Align
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
BinPackArguments: false
BinPackParameters: false
# Lambdas
AllowShortLambdasOnASingleLine: Empty
LambdaBodyIndentation: OuterScope
# Short forms
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: InlineOnly
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
# Spaces
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
# Blank lines
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
SeparateDefinitionBlocks: Always
# Includes
SortIncludes: CaseSensitive
IncludeBlocks: Regroup
IncludeCategories:
# Generated UI headers and private headers (keep next to main header).
- Regex: '^"(ui_|.*_p\.h)'
Priority: 0
# Local "quoted" headers.
- Regex: '^"'
Priority: 1
# Project library headers.
- Regex: '<(browser|core|registry|sidebar|ui|util|qxtglobalshortcut)/'
Priority: 2
# Qt headers.
- Regex: '<Q'
Priority: 3
# C-style headers (.h).
- Regex: '<.*\.h>'
Priority: 4
# C++ STL headers.
- Regex: '<'
Priority: 5
# Alignment
AlignConsecutiveAssignments: None
AlignConsecutiveDeclarations: None
AlignConsecutiveMacros: None
AlignEscapedNewlines: Left
AlignOperands: AlignAfterOperator
AlignTrailingComments: true
# Line breaking
PenaltyBreakAssignment: 1000
PenaltyBreakBeforeFirstCallParameter: 1000
PenaltyReturnTypeOnItsOwnLine: 1000
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakStringLiterals: true
# Namespaces
CompactNamespaces: false
FixNamespaceComments: true
ShortNamespaceLines: 0
# Macros
StatementMacros:
- Q_LOGGING_CATEGORY
# Other
Cpp11BracedListStyle: true
InsertNewlineAtEOF: true
LineEnding: LF
ReflowComments: true
SortUsingDeclarations: true