AccessModifierOffset: -8
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: true
BinPackParameters: true
BreakBeforeBraces: Custom
BraceWrapping:
  BeforeCatch: true
  AfterClass: true
  AfterControlStatement: true
  # We do not add a newline after `enum` since Clang-Format 5 **does not** add a
  # newline after `typedef enum`, even if we set `AfterEnum` to true.
  # TODO: Enable the option below after we switched to `clang-format-6` or newer.
  # AfterEnum: true
  AfterFunction: true
  AfterNamespace: true
  AfterStruct: true
  AfterUnion: true
  BeforeElse: true
BreakBeforeTernaryOperators: false
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 140
CommentPragmas: ^\*
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 8
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat: false
#TODO: Set `FixNamespaceComments` to `true` after we switched to `clang-format-6` or newer.
#FixNamespaceComments: true
FixNamespaceComments: false
IndentCaseLabels: false
IndentWidth: 8
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: true
NamespaceIndentation: None
PointerAlignment: Middle
TabWidth: 8
MaxEmptyLinesToKeep: 2
SpaceAfterCStyleCast: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Always
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
UseTab: Always
