123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- # https://raw.githubusercontent.com/freebsd/freebsd-src/main/.clang-format
- # ColumnLimit: 80->95
- # del AlwaysBreakAfterReturnType: TopLevelDefinitions
- # BreakBeforeBraces: WebKit -> Attach
- # Basic .clang-format
- ---
- BasedOnStyle: WebKit
- AlignAfterOpenBracket: DontAlign
- AlignConsecutiveMacros: AcrossEmptyLines
- AlignConsecutiveAssignments: false
- AlignConsecutiveDeclarations: false
- AlignEscapedNewlines: Left
- AlignOperands: false
- AlignTrailingComments: true
- AllowAllArgumentsOnNextLine: false
- AllowAllParametersOfDeclarationOnNextLine: false
- AllowShortBlocksOnASingleLine: Never
- AllowShortCaseLabelsOnASingleLine: false
- AllowShortFunctionsOnASingleLine: InlineOnly
- AllowShortIfStatementsOnASingleLine: Never
- AllowShortLoopsOnASingleLine: false
- #AlwaysBreakAfterReturnType: TopLevelDefinitions
- AlwaysBreakBeforeMultilineStrings: false
- AlwaysBreakTemplateDeclarations: MultiLine
- BinPackArguments: true
- BinPackParameters: true
- BreakBeforeBinaryOperators: None
- BreakBeforeBraces: Attach
- BreakBeforeTernaryOperators: false
- # TODO: BreakStringLiterals can cause very strange formatting so turn it off?
- BreakStringLiterals: false
- # Prefer:
- # some_var = function(arg1,
- # arg2)
- # over:
- # some_var =
- # function(arg1, arg2)
- PenaltyBreakAssignment: 100
- # Prefer:
- # some_long_function(arg1, arg2
- # arg3)
- # over:
- # some_long_function(
- # arg1, arg2, arg3)
- PenaltyBreakBeforeFirstCallParameter: 100
- CompactNamespaces: true
- DerivePointerAlignment: false
- DisableFormat: false
- ForEachMacros:
- - ARB_ARRFOREACH
- - ARB_ARRFOREACH_REVWCOND
- - ARB_ARRFOREACH_REVERSE
- - ARB_FOREACH
- - ARB_FOREACH_FROM
- - ARB_FOREACH_SAFE
- - ARB_FOREACH_REVERSE
- - ARB_FOREACH_REVERSE_FROM
- - ARB_FOREACH_REVERSE_SAFE
- - BIT_FOREACH_ISCLR
- - BIT_FOREACH_ISSET
- - CPU_FOREACH
- - CPU_FOREACH_ISCLR
- - CPU_FOREACH_ISSET
- - FOREACH_THREAD_IN_PROC
- - FOREACH_PROC_IN_SYSTEM
- - FOREACH_PRISON_CHILD
- - FOREACH_PRISON_DESCENDANT
- - FOREACH_PRISON_DESCENDANT_LOCKED
- - FOREACH_PRISON_DESCENDANT_LOCKED_LEVEL
- - MNT_VNODE_FOREACH_ALL
- - MNT_VNODE_FOREACH_ACTIVE
- - RB_FOREACH
- - RB_FOREACH_FROM
- - RB_FOREACH_SAFE
- - RB_FOREACH_REVERSE
- - RB_FOREACH_REVERSE_FROM
- - RB_FOREACH_REVERSE_SAFE
- - SLIST_FOREACH
- - SLIST_FOREACH_FROM
- - SLIST_FOREACH_FROM_SAFE
- - SLIST_FOREACH_SAFE
- - SLIST_FOREACH_PREVPTR
- - SPLAY_FOREACH
- - LIST_FOREACH
- - LIST_FOREACH_FROM
- - LIST_FOREACH_FROM_SAFE
- - LIST_FOREACH_SAFE
- - STAILQ_FOREACH
- - STAILQ_FOREACH_FROM
- - STAILQ_FOREACH_FROM_SAFE
- - STAILQ_FOREACH_SAFE
- - TAILQ_FOREACH
- - TAILQ_FOREACH_FROM
- - TAILQ_FOREACH_FROM_SAFE
- - TAILQ_FOREACH_REVERSE
- - TAILQ_FOREACH_REVERSE_FROM
- - TAILQ_FOREACH_REVERSE_FROM_SAFE
- - TAILQ_FOREACH_REVERSE_SAFE
- - TAILQ_FOREACH_SAFE
- - VM_MAP_ENTRY_FOREACH
- - VM_PAGE_DUMP_FOREACH
- SpaceBeforeParens: ControlStatementsExceptForEachMacros
- IndentCaseLabels: false
- IndentPPDirectives: None
- Language: Cpp
- NamespaceIndentation: None
- PointerAlignment: Right
- ContinuationIndentWidth: 4
- IndentWidth: 8
- TabWidth: 8
- ColumnLimit: 95
- UseTab: Always
- SpaceAfterCStyleCast: false
- IncludeBlocks: Regroup
- IncludeCategories:
- - Regex: '^\"opt_.*\.h\"'
- Priority: 1
- SortPriority: 10
- - Regex: '^<sys/cdefs\.h>'
- Priority: 2
- SortPriority: 20
- - Regex: '^<sys/types\.h>'
- Priority: 2
- SortPriority: 21
- - Regex: '^<sys/param\.h>'
- Priority: 2
- SortPriority: 22
- - Regex: '^<sys/systm\.h>'
- Priority: 2
- SortPriority: 23
- - Regex: '^<sys.*/'
- Priority: 2
- SortPriority: 24
- - Regex: '^<vm/vm\.h>'
- Priority: 3
- SortPriority: 30
- - Regex: '^<vm/'
- Priority: 3
- SortPriority: 31
- - Regex: '^<machine/'
- Priority: 4
- SortPriority: 40
- - Regex: '^<(x86|amd64|i386|xen)/'
- Priority: 5
- SortPriority: 50
- - Regex: '^<dev/'
- Priority: 6
- SortPriority: 60
- - Regex: '^<net.*/'
- Priority: 7
- SortPriority: 70
- - Regex: '^<protocols/'
- Priority: 7
- SortPriority: 71
- - Regex: '^<(fs|nfs(|client|server)|ufs)/'
- Priority: 8
- SortPriority: 80
- - Regex: '^<[^/].*\.h'
- Priority: 9
- SortPriority: 90
- - Regex: '^\".*\.h\"'
- Priority: 10
- SortPriority: 100
- # LLVM's header include ordering style is almost the exact opposite of ours.
- # Unfortunately, they have hard-coded their preferences into clang-format.
- # Clobbering this regular expression to avoid matching prevents non-system
- # headers from being forcibly moved to the top of the include list.
- # http://llvm.org/docs/CodingStandards.html#include-style
- IncludeIsMainRegex: 'BLAH_DONT_MATCH_ANYTHING'
- SortIncludes: true
- KeepEmptyLinesAtTheStartOfBlocks: false
- TypenameMacros:
- - ARB_ELMTYPE
- - ARB_HEAD
- - ARB8_HEAD
- - ARB16_HEAD
- - ARB32_HEAD
- - ARB_ENTRY
- - ARB8_ENTRY
- - ARB16_ENTRY
- - ARB32_ENTRY
- - LIST_CLASS_ENTRY
- - LIST_CLASS_HEAD
- - LIST_ENTRY
- - LIST_HEAD
- - QUEUE_TYPEOF
- - RB_ENTRY
- - RB_HEAD
- - SLIST_CLASS_HEAD
- - SLIST_CLASS_ENTRY
- - SLIST_HEAD
- - SLIST_ENTRY
- - SMR_POINTER
- - SPLAY_ENTRY
- - SPLAY_HEAD
- - STAILQ_CLASS_ENTRY
- - STAILQ_CLASS_HEAD
- - STAILQ_ENTRY
- - STAILQ_HEAD
- - TAILQ_CLASS_ENTRY
- - TAILQ_CLASS_HEAD
- - TAILQ_ENTRY
- - TAILQ_HEAD
|