mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-08-13 16:22:33 +00:00

The codebase of iproute2 follows Linux kernel coding style, so it will be very helpful to reuse existing clang configuration file to reliably format code. For more information see kernel commit d4ef8d3ff005 ("clang-format: add configuration file"). Updated upto commit v5.0-rc1 with small number of ForEachMacros. Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: David Ahern <dsahern@gmail.com>
131 lines
4.1 KiB
YAML
131 lines
4.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# clang-format configuration file. Intended for clang-format >= 4.
|
|
#
|
|
# For more information, see:
|
|
#
|
|
# Documentation/process/clang-format.rst
|
|
# https://clang.llvm.org/docs/ClangFormat.html
|
|
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
|
#
|
|
---
|
|
AccessModifierOffset: -4
|
|
AlignAfterOpenBracket: Align
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
#AlignEscapedNewlines: Left # Unknown to clang-format-4.0
|
|
AlignOperands: true
|
|
AlignTrailingComments: false
|
|
AllowAllParametersOfDeclarationOnNextLine: false
|
|
AllowShortBlocksOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: false
|
|
AllowShortFunctionsOnASingleLine: None
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
AlwaysBreakAfterDefinitionReturnType: None
|
|
AlwaysBreakAfterReturnType: None
|
|
AlwaysBreakBeforeMultilineStrings: false
|
|
AlwaysBreakTemplateDeclarations: false
|
|
BinPackArguments: true
|
|
BinPackParameters: true
|
|
BraceWrapping:
|
|
AfterClass: false
|
|
AfterControlStatement: false
|
|
AfterEnum: false
|
|
AfterFunction: true
|
|
AfterNamespace: true
|
|
AfterObjCDeclaration: false
|
|
AfterStruct: false
|
|
AfterUnion: false
|
|
#AfterExternBlock: false # Unknown to clang-format-5.0
|
|
BeforeCatch: false
|
|
BeforeElse: false
|
|
IndentBraces: false
|
|
#SplitEmptyFunction: true # Unknown to clang-format-4.0
|
|
#SplitEmptyRecord: true # Unknown to clang-format-4.0
|
|
#SplitEmptyNamespace: true # Unknown to clang-format-4.0
|
|
BreakBeforeBinaryOperators: None
|
|
BreakBeforeBraces: Custom
|
|
#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0
|
|
BreakBeforeTernaryOperators: false
|
|
BreakConstructorInitializersBeforeComma: false
|
|
#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0
|
|
BreakAfterJavaFieldAnnotations: false
|
|
BreakStringLiterals: false
|
|
ColumnLimit: 80
|
|
CommentPragmas: '^ IWYU pragma:'
|
|
#CompactNamespaces: false # Unknown to clang-format-4.0
|
|
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
ConstructorInitializerIndentWidth: 8
|
|
ContinuationIndentWidth: 8
|
|
Cpp11BracedListStyle: false
|
|
DerivePointerAlignment: false
|
|
DisableFormat: false
|
|
ExperimentalAutoDetectBinPacking: false
|
|
#FixNamespaceComments: false # Unknown to clang-format-4.0
|
|
|
|
# Taken from:
|
|
# git grep -h '^#define [^[:space:]]*for_each[^[:space:]]*(' include/ \
|
|
# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$, - '\1'," \
|
|
# | sort | uniq
|
|
ForEachMacros:
|
|
- 'list_for_each_entry'
|
|
- 'list_for_each_entry_safe'
|
|
- 'mnl_attr_for_each_nested'
|
|
- 'hlist_for_each'
|
|
- 'hlist_for_each_safe'
|
|
- 'hlist_for_each_entry'
|
|
|
|
#IncludeBlocks: Preserve # Unknown to clang-format-5.0
|
|
IncludeCategories:
|
|
- Regex: '.*'
|
|
Priority: 1
|
|
IncludeIsMainRegex: '(Test)?$'
|
|
IndentCaseLabels: false
|
|
#IndentPPDirectives: None # Unknown to clang-format-5.0
|
|
IndentWidth: 8
|
|
IndentWrappedFunctionNames: false
|
|
JavaScriptQuotes: Leave
|
|
JavaScriptWrapImports: true
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
MacroBlockBegin: ''
|
|
MacroBlockEnd: ''
|
|
MaxEmptyLinesToKeep: 1
|
|
NamespaceIndentation: Inner
|
|
#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0
|
|
ObjCBlockIndentWidth: 8
|
|
ObjCSpaceAfterProperty: true
|
|
ObjCSpaceBeforeProtocolList: true
|
|
|
|
# Taken from git's rules
|
|
#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0
|
|
PenaltyBreakBeforeFirstCallParameter: 30
|
|
PenaltyBreakComment: 10
|
|
PenaltyBreakFirstLessLess: 0
|
|
PenaltyBreakString: 10
|
|
PenaltyExcessCharacter: 100
|
|
PenaltyReturnTypeOnItsOwnLine: 60
|
|
|
|
PointerAlignment: Right
|
|
ReflowComments: false
|
|
SortIncludes: false
|
|
#SortUsingDeclarations: false # Unknown to clang-format-4.0
|
|
SpaceAfterCStyleCast: false
|
|
SpaceAfterTemplateKeyword: true
|
|
SpaceBeforeAssignmentOperators: true
|
|
#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0
|
|
#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0
|
|
SpaceBeforeParens: ControlStatements
|
|
#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0
|
|
SpaceInEmptyParentheses: false
|
|
SpacesBeforeTrailingComments: 1
|
|
SpacesInAngles: false
|
|
SpacesInContainerLiterals: false
|
|
SpacesInCStyleCastParentheses: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
Standard: Cpp03
|
|
TabWidth: 8
|
|
UseTab: Always
|
|
...
|