blob: 8dc1f55d5758121f108335458ee555687b211dbb [file] [log] [blame]
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +01001# SPDX-License-Identifier: Apache-2.0
Håkon Alsetha88dc362018-10-04 14:21:59 +02002#
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +01003# Note: The list of ForEachMacros can be obtained using:
Håkon Alsetha88dc362018-10-04 14:21:59 +02004#
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +01005# git grep -h '^#define [^[:space:]]*FOR_EACH[^[:space:]]*(' include/ \
6# | sed "s,^#define \([^[:space:]]*FOR_EACH[^[:space:]]*\)(.*$, - '\1'," \
7# | sort | uniq
Håkon Alsetha88dc362018-10-04 14:21:59 +02008#
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +01009# References:
10# - https://clang.llvm.org/docs/ClangFormatStyleOptions.html
11
Håkon Alsetha88dc362018-10-04 14:21:59 +020012---
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010013BasedOnStyle: LLVM
14AlignConsecutiveMacros: AcrossComments
Yuval Peress0f40ddd2023-01-18 22:27:57 -070015AllowShortBlocksOnASingleLine: Never
Johann Fischerdddb5dd2022-07-15 12:23:06 +020016AllowShortCaseLabelsOnASingleLine: false
Anas Nashif51f9f7c2022-07-01 10:46:26 -040017AllowShortEnumsOnASingleLine: false
Johann Fischerdddb5dd2022-07-15 12:23:06 +020018AllowShortFunctionsOnASingleLine: None
19AllowShortIfStatementsOnASingleLine: false
20AllowShortLoopsOnASingleLine: false
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010021AttributeMacros:
22 - __aligned
23 - __deprecated
24 - __packed
25 - __printf_like
26 - __syscall
Carlo Caionede90dfc2023-04-20 17:04:55 +020027 - __syscall_always_inline
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010028 - __subsystem
Rafael Leee6ef1f32022-11-16 02:56:54 +080029BitFieldColonSpacing: After
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010030BreakBeforeBraces: Linux
Henrik Brix Andersen3f0e8dd2022-06-27 22:02:21 +020031ColumnLimit: 100
Håkon Alsetha88dc362018-10-04 14:21:59 +020032ConstructorInitializerIndentWidth: 8
33ContinuationIndentWidth: 8
Håkon Alsetha88dc362018-10-04 14:21:59 +020034ForEachMacros:
Chris Friedtaa2b83d2024-05-23 10:42:06 -040035 - 'ARRAY_FOR_EACH'
36 - 'ARRAY_FOR_EACH_PTR'
Håkon Alsetha88dc362018-10-04 14:21:59 +020037 - 'FOR_EACH'
Peter Bigot1ec9d2a2020-03-26 11:34:58 -050038 - 'FOR_EACH_FIXED_ARG'
Gerard Marull-Paretasdbb5e232021-12-17 15:08:25 +010039 - 'FOR_EACH_IDX'
40 - 'FOR_EACH_IDX_FIXED_ARG'
41 - 'FOR_EACH_NONEMPTY_TERM'
Håkon Alsetha88dc362018-10-04 14:21:59 +020042 - 'RB_FOR_EACH'
43 - 'RB_FOR_EACH_CONTAINER'
44 - 'SYS_DLIST_FOR_EACH_CONTAINER'
45 - 'SYS_DLIST_FOR_EACH_CONTAINER_SAFE'
46 - 'SYS_DLIST_FOR_EACH_NODE'
47 - 'SYS_DLIST_FOR_EACH_NODE_SAFE'
48 - 'SYS_SFLIST_FOR_EACH_CONTAINER'
49 - 'SYS_SFLIST_FOR_EACH_CONTAINER_SAFE'
50 - 'SYS_SFLIST_FOR_EACH_NODE'
51 - 'SYS_SFLIST_FOR_EACH_NODE_SAFE'
52 - 'SYS_SLIST_FOR_EACH_CONTAINER'
53 - 'SYS_SLIST_FOR_EACH_CONTAINER_SAFE'
54 - 'SYS_SLIST_FOR_EACH_NODE'
55 - 'SYS_SLIST_FOR_EACH_NODE_SAFE'
Gerard Marull-Paretasdbb5e232021-12-17 15:08:25 +010056 - '_WAIT_Q_FOR_EACH'
57 - 'Z_FOR_EACH'
58 - 'Z_FOR_EACH_ENGINE'
59 - 'Z_FOR_EACH_EXEC'
60 - 'Z_FOR_EACH_FIXED_ARG'
61 - 'Z_FOR_EACH_FIXED_ARG_EXEC'
62 - 'Z_FOR_EACH_IDX'
63 - 'Z_FOR_EACH_IDX_EXEC'
64 - 'Z_FOR_EACH_IDX_FIXED_ARG'
65 - 'Z_FOR_EACH_IDX_FIXED_ARG_EXEC'
Håkon Alsetha88dc362018-10-04 14:21:59 +020066 - 'Z_GENLIST_FOR_EACH_CONTAINER'
67 - 'Z_GENLIST_FOR_EACH_CONTAINER_SAFE'
68 - 'Z_GENLIST_FOR_EACH_NODE'
69 - 'Z_GENLIST_FOR_EACH_NODE_SAFE'
Yuval Peress9c624fa2023-05-25 10:13:32 -060070 - 'STRUCT_SECTION_FOREACH'
71 - 'TYPE_SECTION_FOREACH'
Rodrigo Peixoto23128972023-12-24 12:13:56 -030072 - 'K_SPINLOCK'
Emil Gydesen8af066b2023-02-27 16:55:31 +010073IfMacros:
74 - 'CHECKIF'
Anas Nashifc417cbc2022-08-19 14:57:17 -040075# Disabled for now, see bug https://github.com/zephyrproject-rtos/zephyr/issues/48520
76#IncludeBlocks: Regroup
Håkon Alsetha88dc362018-10-04 14:21:59 +020077IncludeCategories:
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010078 - Regex: '^".*\.h"$'
79 Priority: 0
80 - 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>$'
Håkon Alsetha88dc362018-10-04 14:21:59 +020081 Priority: 1
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010082 - Regex: '^\<zephyr/.*\.h\>$'
83 Priority: 2
84 - Regex: '.*'
85 Priority: 3
Håkon Alsetha88dc362018-10-04 14:21:59 +020086IndentCaseLabels: false
Håkon Alsetha88dc362018-10-04 14:21:59 +020087IndentWidth: 8
Keith Short42f746c2022-12-20 09:16:19 -070088InsertBraces: true
Gerard Marull-Paretas407041a2022-12-22 10:51:14 +010089SpaceBeforeParens: ControlStatementsExceptControlMacros
Yuval Peress0f40ddd2023-01-18 22:27:57 -070090SortIncludes: Never
Emil Gydesen6c91e4d2023-04-18 14:46:32 +020091UseTab: ForContinuationAndIndentation
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010092WhitespaceSensitiveMacros:
93 - STRINGIFY
94 - Z_STRINGIFY