# SpacesInParentheses, KeepEmptyLinesAtTheStartOfBlocks and
# AlwaysBreakAfterReturnType are spelled the way clang-format 18 expects.
# Version 19 renamed all three and still accepts these names; 18 rejects the
# new ones.
Language: Cpp
BasedOnStyle: LLVM
IndentWidth: 4
UseTab: Never
ColumnLimit: 100
BreakBeforeBraces: Custom
BraceWrapping:
  AfterFunction: true
  AfterControlStatement: false
  AfterEnum: false
  AfterStruct: false
  AfterUnion: false
  AfterExternBlock: false
  AfterCaseLabel: false
  BeforeElse: false
  BeforeWhile: false
  IndentBraces: false
  SplitEmptyFunction: true
  SplitEmptyRecord: true
IndentCaseLabels: false
PointerAlignment: Right
SpaceBeforeParens: ControlStatements
SpacesInParentheses: false
SpaceAfterCStyleCast: false
AlignConsecutiveDeclarations: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortBlocksOnASingleLine: Never
AllowShortFunctionsOnASingleLine: None
BreakBeforeBinaryOperators: None
Cpp11BracedListStyle: false
KeepEmptyLinesAtTheStartOfBlocks: false
AlwaysBreakAfterReturnType: AllDefinitions
SortIncludes: false
MaxEmptyLinesToKeep: 2
IndentPPDirectives: AfterHash
PPIndentWidth: 1
