# command:
# find plugins -type d -name third_party -prune -false -o -name '*.cc' -o -name '*.hpp' -o -name '*.h' > clang-format-files && clang-format-18 -i --files=clang-format-files

Language: Cpp
UseTab: Never
TabWidth: 2
IndentWidth: 2
ContinuationIndentWidth: 2
BracedInitializerIndentWidth: 2
ConstructorInitializerIndentWidth: 2 # broken: llvm/llvm-project#61631
ColumnLimit: 100

SpacesBeforeTrailingComments: 2
AlignTrailingComments:
  Kind: Always
  OverEmptyLines: 1

IndentCaseLabels: true
AllowShortIfStatementsOnASingleLine: true
BreakBeforeBinaryOperators: NonAssignment

SpacesInParens: Custom
SpacesInParensOptions:
  InConditionalStatements: false
  Other: false
SpacesInAngles: Never
SpaceAfterCStyleCast: false
IndentAccessModifiers: true
Cpp11BracedListStyle: true
PointerAlignment: Left
QualifierAlignment: Left

AlignAfterOpenBracket: BlockIndent
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
BinPackArguments: true
BinPackParameters: false
BreakBeforeBraces: Attach
PackConstructorInitializers: Never
# AlignAfterControlStatement: true # waiting for llvm/llvm-project#67738

BreakAfterAttributes: Never
AlwaysBreakAfterReturnType: None
PenaltyReturnTypeOnItsOwnLine: 1000 # default: 60
BreakBeforeConceptDeclarations: Always
SpaceAfterTemplateKeyword: false

PenaltyBreakOpenParenthesis: 0

InsertNewlineAtEOF: true