generated from IRNAS/irnas-zephyr-template
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.clang-format
92 lines (91 loc) · 2.69 KB
/
.clang-format
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# SPDX-License-Identifier: Apache-2.0
#
# Note: The list of ForEachMacros can be obtained using:
#
# git grep -h '^#define [^[:space:]]*FOR_EACH[^[:space:]]*(' include/ \
# | sed "s,^#define \([^[:space:]]*FOR_EACH[^[:space:]]*\)(.*$, - '\1'," \
# | sort | uniq
#
# References:
# - https://clang.llvm.org/docs/ClangFormatStyleOptions.html
---
BasedOnStyle: LLVM
AlignConsecutiveMacros: AcrossComments
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AttributeMacros:
- __aligned
- __deprecated
- __packed
- __printf_like
- __syscall
- __syscall_always_inline
- __subsystem
BitFieldColonSpacing: After
BreakBeforeBraces: Linux
ColumnLimit: 100
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
ForEachMacros:
- "FOR_EACH"
- "FOR_EACH_FIXED_ARG"
- "FOR_EACH_IDX"
- "FOR_EACH_IDX_FIXED_ARG"
- "FOR_EACH_NONEMPTY_TERM"
- "RB_FOR_EACH"
- "RB_FOR_EACH_CONTAINER"
- "SYS_DLIST_FOR_EACH_CONTAINER"
- "SYS_DLIST_FOR_EACH_CONTAINER_SAFE"
- "SYS_DLIST_FOR_EACH_NODE"
- "SYS_DLIST_FOR_EACH_NODE_SAFE"
- "SYS_SFLIST_FOR_EACH_CONTAINER"
- "SYS_SFLIST_FOR_EACH_CONTAINER_SAFE"
- "SYS_SFLIST_FOR_EACH_NODE"
- "SYS_SFLIST_FOR_EACH_NODE_SAFE"
- "SYS_SLIST_FOR_EACH_CONTAINER"
- "SYS_SLIST_FOR_EACH_CONTAINER_SAFE"
- "SYS_SLIST_FOR_EACH_NODE"
- "SYS_SLIST_FOR_EACH_NODE_SAFE"
- "_WAIT_Q_FOR_EACH"
- "Z_FOR_EACH"
- "Z_FOR_EACH_ENGINE"
- "Z_FOR_EACH_EXEC"
- "Z_FOR_EACH_FIXED_ARG"
- "Z_FOR_EACH_FIXED_ARG_EXEC"
- "Z_FOR_EACH_IDX"
- "Z_FOR_EACH_IDX_EXEC"
- "Z_FOR_EACH_IDX_FIXED_ARG"
- "Z_FOR_EACH_IDX_FIXED_ARG_EXEC"
- "Z_GENLIST_FOR_EACH_CONTAINER"
- "Z_GENLIST_FOR_EACH_CONTAINER_SAFE"
- "Z_GENLIST_FOR_EACH_NODE"
- "Z_GENLIST_FOR_EACH_NODE_SAFE"
- "STRUCT_SECTION_FOREACH"
- "TYPE_SECTION_FOREACH"
IfMacros:
- "CHECKIF"
# Disabled for now, see bug https://github.com/zephyrproject-rtos/zephyr/issues/48520
#IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^".*\.h"$'
Priority: 0
- Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|limits|locale|math|setjmp|signal|stdarg|stdbool|stddef|stdint|stdio|stdlib|string|tgmath|time|wchar|wctype)\.h>$'
Priority: 1
- Regex: '^\<zephyr/.*\.h\>$'
Priority: 2
- Regex: ".*"
Priority: 3
IndentCaseLabels: false
IndentWidth: 8
InsertBraces: true
SpaceBeforeParens: ControlStatementsExceptControlMacros
# Enable sorting of includes, since we do not have cyclical dependencies (unlike Zephyr)
SortIncludes: true
UseTab: ForContinuationAndIndentation
WhitespaceSensitiveMacros:
- STRINGIFY
- Z_STRINGIFY