# -*- yaml -*-
# This configuration requires at least clang-format 15.
# See ./format-code for comments about the minimum version.
# See https://clang.llvm.org/docs/ClangFormatStyleOptions.html
---
Language: Cpp
BasedOnStyle: LLVM
AlignAfterOpenBracket: AlwaysBreak
AlignEscapedNewlines: DontAlign
AlignOperands: DontAlign
AllowShortFunctionsOnASingleLine: None
AlwaysBreakAfterReturnType: AllDefinitions
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
  AfterClass:      true
  AfterFunction:   true
  AfterNamespace:  true
  AfterStruct:     true
  AfterUnion:      true
BreakBeforeBraces: Custom
BreakConstructorInitializers: AfterColon
ColumnLimit: 100
DeriveLineEnding: false
PackConstructorInitializers: Never
IncludeCategories:
  - Regex:           '^["<](qpdf)/'
    Priority:        1
    SortPriority:    0
    CaseSensitive:   false
  - Regex:           '.*'
    Priority:        2
    SortPriority:    0
    CaseSensitive:   false
  - Regex:           '.*'
    Priority:        1
    SortPriority:    0
    CaseSensitive:   false
IndentCaseBlocks: true
IndentExternBlock: Indent
IndentPPDirectives: AfterHash
IndentWidth: 4
InsertBraces: true
InsertTrailingCommas: Wrapped
KeepEmptyLinesAtTheStartOfBlocks: false
NamespaceIndentation: All
PointerAlignment: Left
PPIndentWidth: 1
SpaceBeforeCaseColon: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: false
SpaceBeforeRangeBasedForLoopColon: false
