# fenix — clang-format (LLVM base, 120 columns). Clang-only project; latest clang-format.
BasedOnStyle: LLVM
Standard: Latest
ColumnLimit: 120
IndentWidth: 4
IndentCaseLabels: true
TabWidth: 4
UseTab: Never
NamespaceIndentation: None
FixNamespaceComments: true
PointerAlignment: Left
ReferenceAlignment: Left
QualifierAlignment: Left
AlignAfterOpenBracket: Align
AllowShortFunctionsOnASingleLine: Inline
AllowShortCaseLabelsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLoopsOnASingleLine: true
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Attach
BreakConstructorInitializers: BeforeColon
PackConstructorInitializers: NextLine
EmptyLineBeforeAccessModifier: LogicalBlock
IncludeBlocks: Regroup
IncludeCategories:
  - Regex:    '^"'            # our own headers (quoted, module-relative) — always first
    Priority: 1
  - Regex:    '^<(torch|Qt|vtk|curl|zlib|blosc2|mimalloc)'  # approved third-party
    Priority: 2
  - Regex:    '^<.*>'         # C system + C++ standard library (one sorted block)
    Priority: 3
SortIncludes: CaseInsensitive
SeparateDefinitionBlocks: Leave
SpaceAfterTemplateKeyword: true
SpacesBeforeTrailingComments: 2
