---
#BasedOnStyle : WebKit
#AccessModifierOffset : -4
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands:   true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Custom
BraceWrapping:
  AfterCaseLabel:        true
  AfterClass:            true
  AfterControlStatement: false
  AfterEnum:             false
  AfterFunction:         true
  AfterNamespace:        false
  AfterObjCDeclaration:  false
  AfterStruct:           false
  AfterUnion:            false
  AfterExternBlock:      false
  BeforeCatch:           false
  BeforeElse:            false
  IndentBraces:          true
  SplitEmptyRecord:      false
  SplitEmptyNamespace: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Linux
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakInheritanceList: BeforeComma
BreakStringLiterals: true
ColumnLimit:     225
CommentPragmas:  '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DerivePointerAlignment: false
DisableFormat:   false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros: [
  'SCCP_LIST_TRAVERSE',
  'SCCP_RWLIST_TRAVERSE',
  'SCCP_LIST_TRAVERSE_BACKWARDS',
  'SCCP_RWLIST_TRAVERSE_BACKWARDS',
  'SCCP_LIST_TRAVERSE_SAFE_BEGIN',
  'SCCP_RWLIST_TRAVERSE_SAFE_BEGIN',
  'SCCP_LIST_TRAVERSE_BACKWARDS_SAFE_BEGIN',
  'SCCP_RWLIST_TRAVERSE_BACKWARDS_SAFE_BEGIN',
  'SCCP_LIST_TRAVERSE_SAFE_END',
  'SCCP_RWLIST_TRAVERSE_SAFE_END'
]
IncludeBlocks: Preserve
IncludeCategories:
  - Regex:           'config.h'     	# primary local headers
    Priority:        1
  - Regex:           'common.h'     	# primary local headers
    Priority:        2
  - Regex:           '.*'           	# any local headers
    Priority:        3
  - Regex:           'pbx_impl/.*'  	# any local headers
    Priority:        4
  - Regex:           '^<[a-z]*>'    	# language headers like <algorithm>
    Priority:        5
  - Regex:           '^<.*\.h>'     	# platform headers like <unistd.h>
    Priority:        6
  - Regex:           '^<asterisk/.*'	# asterisk headers
    Priority:        7
  - Regex:           '^<.*'         	# other external headers
    Priority:        8
IndentCaseLabels: true
IndentPPDirectives: AfterHash
IndentWidth:     8
IndentWrappedFunctionNames: true
KeepEmptyLinesAtTheStartOfBlocks: false
Language: Cpp
MacroBlockBegin: ''
MacroBlockEnd:   ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: Inner
PenaltyBreakAssignment: 100
PenaltyBreakBeforeFirstCallParameter: 100
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 100
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Middle
RawStringFormats:
  - Language: Cpp
    Delimiters:
       - 'cc'
       - 'cpp'
    BasedOnStyle: llvm
    CanonicalDelimiter: 'cc'
ReflowComments:  true
SortIncludes:    false
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: false
SpaceBeforeSquareBrackets: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 40
SpacesInAngles:  false
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard:        Latest
StatementMacros: []
TabWidth:        8
TypenameMacros: [
  'SCCP_LIST_HEAD ', 
  'SCCP_RWLIST_HEAD', 
  'SCCP_LIST_ENTRY', 
  'SCCP_RWLIST_ENTRY', 
  'SCCP_API', 
  'SCCP_CALL', 
  'sccp_push_result_t', 
  'boolean_t', 
  'sessionPtr', 
  'devicePtr', 
  'linePtr', 
  'channelPtr', 
  'lineDevicePtr', 
  'conferencePtr', 
  'constSessionPtr', 
  'constDevicePtr', 
  'constLinePtr', 
  'constChannelPtr', 
  'constLineDevicePtr', 
  'constConferencePtr', 
  'messagePtr', 
  'constMessagePtr',
]
UseTab:          ForContinuationAndIndentation
#UseTab : Always

#New clang - format - 10
AlignConsecutiveMacros: true
AllowShortBlocksOnASingleLine: Empty
IndentGotoLabels: false
SpaceInEmptyBlock: false
...
