BasedOnStyle: LLVM

# Pointer/Reference alignment: int * p, void (* callback)(...)
PointerAlignment: Left
ReferenceAlignment: Left

# Line length
ColumnLimit: 100

# Return type on its own line
BreakAfterReturnType: All

# Params each on their own line
BinPackParameters: false

# Indentation
IndentWidth: 4
TabWidth: 4
UseTab: Never
ContinuationIndentWidth: 4

# Braces always on their own line (Allman style)
BreakBeforeBraces: Allman

# No blank line after opening {
KeepEmptyLinesAtTheStartOfBlocks: false

# Space after C-style cast: (uint32_t) x
SpaceAfterCStyleCast: true

# Spaces
SpaceInEmptyParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false

# Allow single-line if without braces
AllowShortIfStatementsOnASingleLine: WithoutElse

# Include sorting
SortIncludes: CaseSensitive
IncludeBlocks: Regroup

# Short constructs
AllowShortFunctionsOnASingleLine: Empty
AllowShortLoopsOnASingleLine: false

# Comments
ReflowComments: true
