Files
LIEF/.clang-format
lief-integration-bot 884e229971 core: modernize codebase to C++17 and remove legacy C API
- Bumped the minimum C++ standard for public headers, public API, and STL C++11 to C++17
- Fully removed the legacy C API
2026-08-01 06:12:13 +02:00

119 lines
2.7 KiB
YAML

---
Language: Cpp
BasedOnStyle: LLVM
Standard: c++17
# Column limit
ColumnLimit: 83
# Indentation
IndentWidth: 2
TabWidth: 2
UseTab: Never
ContinuationIndentWidth: 4
ConstructorInitializerIndentWidth: 2
IndentCaseLabels: true
IndentCaseBlocks: false
IndentPPDirectives: BeforeHash
NamespaceIndentation: None
IndentWrappedFunctionNames: true
IndentAccessModifiers: false
# Access modifiers at same level as class members
AccessModifierOffset: 0
# Constructor initializers: colon at end of line, each initializer on new line
BreakConstructorInitializers: AfterColon
PackConstructorInitializers: Never
# Inheritance
BreakInheritanceList: BeforeColon
# Pointer/Reference alignment: attached to type
PointerAlignment: Left
ReferenceAlignment: Pointer
DerivePointerAlignment: false
# Spacing
SpaceBeforeParens: ControlStatements
SpaceBeforeCpp11BracedList: false
SpaceInEmptyBlock: false
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeRangeBasedForLoopColon: true
# Alignment
AlignAfterOpenBracket: Align
AlignOperands: Align
AlignTrailingComments: true
AlignConsecutiveAssignments: None
AlignConsecutiveDeclarations: false
# Short forms
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: true
AllowShortLambdasOnASingleLine: All
AllowShortEnumsOnASingleLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortCaseExpressionOnASingleLine: true
# Packing
BinPackArguments: true
BinPackParameters: true
# Namespaces
CompactNamespaces: false
FixNamespaceComments: false
# Empty lines
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
MaxEmptyLinesToKeep: 2
# Ternary operators stay at end of line
BreakBeforeTernaryOperators: false
# Misc
Cpp11BracedListStyle: true
ReflowComments: true
InsertBraces: true
InsertNewlineAtEOF: true
BreakTemplateDeclarations: Yes
BreakBeforeCloseBracketBracedList: true
BreakBeforeCloseBracketFunction: true
BreakBeforeTemplateCloser: true
EnumTrailingComma: Insert
AlignConsecutiveMacros:
Enabled: true
AcrossEmptyLines: true
AcrossComments: true
BreakAfterReturnType: ExceptShortType
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: true
AfterControlStatement: MultiLine
RemoveEmptyLinesInUnwrappedLines: true
RemoveSemicolon: true
QualifierAlignment: Left
# Includes - preserve existing order
SortIncludes: true
SortUsingDeclarations: LexicographicNumeric
IncludeCategories:
- Regex: '^((<|")(spdlog|nanobind|catch2|utf8)/)'
Priority: 3
- Regex: '<[[:alnum:].]+>'
Priority: 4
- Regex: '.*'
Priority: 1
SortPriority: 0