# A clang-format config to follow CSCI200's style guide, use before turning in
IndentWidth: 2
UseTab: Never
TabWidth: 2
InsertBraces: true
SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
  # System headers from C
  - Regex:           '<c(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)>'
    Priority:        3
  # System headers without extension.
  - Regex:           '<([A-Za-z0-9\Q/-_\E])+>'
    Priority:        2
  # Local headers with extension.
  - Regex:           '"([A-Za-z0-9\Q/-_\E])+\.h(pp)?"'
    Priority:        1
BraceWrapping:
  AfterCaseLabel: false
  AfterClass: false
  AfterControlStatement: Never
  AfterEnum: false
  AfterFunction: false
  AfterNamespace: false
  AfterObjCDeclaration: false
  AfterStruct: false
  AfterUnion: false
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  BeforeLambdaBody: false
  BeforeWhile: false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false
IndentCaseLabels: true
IntegerLiteralSeparator:
  Binary: -1
  Decimal: -1
  Hex: -1
DerivePointerAlignment: false
PointerAlignment: Left
QualifierAlignment: Left