---
# SPDX-License-Identifier: CC0-1.0
# SPDX-FileCopyrightText: 2020-2022, Collabora, Ltd.
Language:             Cpp
BasedOnStyle:         LLVM
Standard:             Auto

# Includes
SortIncludes: false
# SortIncludes: true
# IncludeBlocks: Regroup
# # IncludeBlocks: Preserve
# IncludeCategories:
#   # xrt includes first, they set up defines, clean up after messy headers, etc.
#   - Regex: "^[<\"](xrt)/"
#     Priority: 2
#   # Then, any other internal library
#   - Regex: "^[<\"](util|vk|os|math|render|multi)/"
#     Priority: 3
#   # system includes
#   - Regex: "<([[:alnum:].]+|type_traits)>"
#     Priority: 5
#   # Everything else (local includes)
#   - Regex: ".*"
#     Priority: 2

# Spacing and Blank Lines
DerivePointerAlignment: false
PointerAlignment:       Right
#AlignEscapedNewlines:   DontAlign
#AlignConsecutiveDeclarations: false
#AlignConsecutiveAssignments: false
MaxEmptyLinesToKeep:    3

# Indentation
IndentWidth:          8
TabWidth:             8
UseTab:               ForIndentation
AccessModifierOffset: -8
IndentCaseLabels: false
NamespaceIndentation: Inner

# Line length/reflow
ColumnLimit:          120
ReflowComments:       true


# Line breaks
AlwaysBreakAfterReturnType: All
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: true
AlwaysBreakBeforeMultilineStrings: true
BreakBeforeBraces:    Custom
BraceWrapping:
  AfterEnum:          true
  AfterStruct:        true
  AfterClass:         true
  SplitEmptyFunction: false
  AfterFunction:      true
  AfterNamespace:     false

# false means either "all on one line" or "each on their own",
# won't put more than one on a line if they don't all fit.
BinPackArguments:     true
BinPackParameters:    false
