#https://releases.llvm.org/16.0.0/tools/clang/docs/ClangFormatStyleOptions.html
AlignTrailingComments:
  Kind: Always
  OverEmptyLines: 0
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: true
BasedOnStyle: Google
#BinPackParameters : false
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: false
ColumnLimit: 120
ContinuationIndentWidth: 4
DerivePointerAlignment: false
DisableFormat: false
IndentCaseLabels: true
IndentWrappedFunctionNames: false
IndentWidth: 4
Language: Cpp
MaxEmptyLinesToKeep: 1
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpacesBeforeTrailingComments: 1
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
Standard: c++11
TabWidth: 1
UseTab: Never
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignEscapedNewlines: Left
AlignOperands: Align
AllowShortCaseLabelsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakInheritanceList: AfterColon
BreakConstructorInitializers: AfterColon
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
Cpp11BracedListStyle: false
FixNamespaceComments: true
NamespaceIndentation: None
PointerAlignment: Right
SortIncludes: Never
SortUsingDeclarations: Lexicographic
SpacesInAngles: Never
SpaceAfterCStyleCast: false
SpaceInEmptyParentheses: false
SpacesInSquareBrackets: false
KeepEmptyLinesAtTheStartOfBlocks: true
BraceWrapping:
  AfterCaseLabel: true
  AfterClass: true
  AfterControlStatement: Always
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: false
  AfterObjCDeclaration: true
  AfterStruct: true
  AfterUnion: true
  AfterExternBlock: false
  BeforeCatch: true
  BeforeElse: true
  BeforeWhile: false
  SplitEmptyFunction: true
  SplitEmptyRecord: true
  SplitEmptyNamespace: true

IncludeBlocks: Preserve
IncludeCategories:
  - Regex: "^<" # system includes
    Priority: 10
  - Regex: '^"erpc_' # erpc public includes
    Priority: 1
CommentPragmas: "#"
