mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			No EOL
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			No EOL
		
	
	
		
			2.1 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
 | 
						|
   BeforeElse : true
 | 
						|
   AfterCaseLabel: 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
 | 
						|
# BreakBeforeElse: true
 | 
						|
 | 
						|
# Includes
 | 
						|
SortIncludes: false  # Z3 has specific include ordering conventions
 | 
						|
 | 
						|
# Namespaces
 | 
						|
NamespaceIndentation: All
 | 
						|
 | 
						|
# Switch statements
 | 
						|
IndentCaseLabels: false
 | 
						|
AllowShortCaseLabelsOnASingleLine: true
 | 
						|
IndentCaseBlocks: false
 | 
						|
 | 
						|
# 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 |