# Clang-format configuration for imageViewer project
---
Language: Cpp
# Base style
BasedOnStyle: LLVM

# Indentation
IndentWidth: 4
TabWidth: 4
UseTab: Never
IndentCaseLabels: true

# Braces
BreakBeforeBraces: Attach
Cpp11BracedListStyle: true

# Line length and breaking
ColumnLimit: 100
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
AlwaysBreakAfterReturnType: None

# Spacing
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true

# Alignment
AlignOperands: true
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignTrailingComments: true

# Function parameters
AllowAllParametersOfDeclarationOnNextLine: false
BinPackParameters: false
BinPackArguments: false

# Includes
SortIncludes: true
IncludeBlocks: Preserve

# Comments
ReflowComments: true

# Pointers and references
PointerAlignment: Right
DerivePointerAlignment: false

# Control statements
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortCaseLabelsOnASingleLine: false

# Misc
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
