# Derived from the project's CLion code style (.idea/codeStyles/Project.xml),
# refined so a format run reproduces the codebase's authored shape: each case
# label and its body on their own lines, a single space before a declared name
# (names are not aligned into a column), but consecutive assignments aligned on the
# `=`. The fixed ColumnLimit of 185 keeps wide signatures and aligned assignments on
# one line (horizontal space is cheaper than vertical here).
# SortIncludes is off because the project's include order (grouped by folder,
# sorted by file-name length then alphabetically) is not expressible here; see
# conventions.md. SortUsingDeclarations is off for the same reason: the project
# authors declaration order deliberately and the formatter must not reorder tokens.
---
Language: Cpp
BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveDeclarations: None
AlignOperands: false
AlignTrailingComments: true
AlignConsecutiveShortCaseStatements:
  Enabled: false
  AcrossEmptyLines: false
  AcrossComments: false
  AlignCaseColons: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortEnumsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: false
AlwaysBreakTemplateDeclarations: Yes
BraceWrapping:
  AfterCaseLabel: true
  AfterClass: true
  AfterControlStatement: true
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: false
  AfterStruct: true
  AfterUnion: true
  AfterExternBlock: false
  BeforeCatch: true
  BeforeElse: true
  BeforeLambdaBody: true
  BeforeWhile: false
  SplitEmptyFunction: true
  SplitEmptyRecord: true
  SplitEmptyNamespace: true
BreakBeforeBraces: Custom
BreakConstructorInitializers: BeforeComma
FixNamespaceComments: false
ColumnLimit: 185
ReflowComments: false
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
IndentCaseBlocks: true
IndentCaseLabels: true
IndentGotoLabels: false
IndentPPDirectives: BeforeHash
IndentWidth: 4
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
PointerAlignment: Right
ReferenceAlignment: Pointer
SortIncludes: Never
SortUsingDeclarations: Never
SpaceAfterTemplateKeyword: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeParens: Never
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
TabWidth: 4
...
