mirror of
https://github.com/Z3Prover/z3
synced 2025-10-01 13:39:28 +00:00
83 lines
No EOL
1.9 KiB
YAML
83 lines
No EOL
1.9 KiB
YAML
|
|
# Z3 Theorem Prover clang-format configuration
|
|
# Based on analysis of existing codebase style patterns
|
|
|
|
BasedOnStyle: LLVM
|
|
|
|
# Indentation
|
|
IndentWidth: 4
|
|
TabWidth: 4
|
|
UseTab: Never
|
|
|
|
# Column width
|
|
ColumnLimit: 120
|
|
|
|
# Braces
|
|
Cpp11BracedListStyle: true
|
|
|
|
# Classes and structs
|
|
BreakConstructorInitializers: BeforeColon
|
|
ConstructorInitializerIndentWidth: 4
|
|
AccessModifierOffset: -4
|
|
|
|
# Function definitions
|
|
AlwaysBreakAfterReturnType: None
|
|
AllowShortFunctionsOnASingleLine: Empty
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
# Ensure function-opening brace is attached to the signature
|
|
BreakBeforeBraces: Custom
|
|
# Explicitly ensure function brace is not placed on a new line
|
|
BraceWrapping:
|
|
AfterFunction: false
|
|
AfterClass: false
|
|
AfterControlStatement: false
|
|
AfterNamespace: false
|
|
AfterStruct: false
|
|
# Spacing
|
|
SpaceAfterCStyleCast: false
|
|
SpaceAfterLogicalNot: false
|
|
SpaceBeforeParens: ControlStatements
|
|
SpaceInEmptyParentheses: false
|
|
SpacesInCStyleCastParentheses: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
|
|
# Alignment
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
AlignOperands: true
|
|
AlignTrailingComments: true
|
|
|
|
# Line breaks
|
|
AllowAllParametersOfDeclarationOnNextLine: true
|
|
BinPackArguments: true
|
|
BinPackParameters: true
|
|
BreakBeforeBinaryOperators: None
|
|
BreakBeforeTernaryOperators: true
|
|
|
|
# Includes
|
|
SortIncludes: false # Z3 has specific include ordering conventions
|
|
|
|
# Namespaces
|
|
NamespaceIndentation: All
|
|
|
|
# Comments and documentation
|
|
ReflowComments: true
|
|
SpacesBeforeTrailingComments: 2
|
|
|
|
# Language standards
|
|
Standard: c++20
|
|
|
|
# Penalties (for line breaking decisions)
|
|
PenaltyBreakAssignment: 2
|
|
PenaltyBreakBeforeFirstCallParameter: 19
|
|
PenaltyBreakComment: 300
|
|
PenaltyBreakFirstLessLess: 120
|
|
PenaltyBreakString: 1000
|
|
PenaltyExcessCharacter: 1000000
|
|
PenaltyReturnTypeOnItsOwnLine: 60
|
|
|
|
# Misc
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
MaxEmptyLinesToKeep: 1 |