blob: 150127471485c20af4ec7cdc42a189894f2ed2cc [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:
35 - 'FOR_EACH'
Peter Bigot1ec9d2a2020-03-26 11:34:58 -050036 - 'FOR_EACH_FIXED_ARG'
Gerard Marull-Paretasdbb5e232021-12-17 15:08:25 +010037 - 'FOR_EACH_IDX'
38 - 'FOR_EACH_IDX_FIXED_ARG'
39 - 'FOR_EACH_NONEMPTY_TERM'
Håkon Alsetha88dc362018-10-04 14:21:59 +020040 - 'RB_FOR_EACH'
41 - 'RB_FOR_EACH_CONTAINER'
42 - 'SYS_DLIST_FOR_EACH_CONTAINER'
43 - 'SYS_DLIST_FOR_EACH_CONTAINER_SAFE'
44 - 'SYS_DLIST_FOR_EACH_NODE'
45 - 'SYS_DLIST_FOR_EACH_NODE_SAFE'
46 - 'SYS_SFLIST_FOR_EACH_CONTAINER'
47 - 'SYS_SFLIST_FOR_EACH_CONTAINER_SAFE'
48 - 'SYS_SFLIST_FOR_EACH_NODE'
49 - 'SYS_SFLIST_FOR_EACH_NODE_SAFE'
50 - 'SYS_SLIST_FOR_EACH_CONTAINER'
51 - 'SYS_SLIST_FOR_EACH_CONTAINER_SAFE'
52 - 'SYS_SLIST_FOR_EACH_NODE'
53 - 'SYS_SLIST_FOR_EACH_NODE_SAFE'
Gerard Marull-Paretasdbb5e232021-12-17 15:08:25 +010054 - '_WAIT_Q_FOR_EACH'
55 - 'Z_FOR_EACH'
56 - 'Z_FOR_EACH_ENGINE'
57 - 'Z_FOR_EACH_EXEC'
58 - 'Z_FOR_EACH_FIXED_ARG'
59 - 'Z_FOR_EACH_FIXED_ARG_EXEC'
60 - 'Z_FOR_EACH_IDX'
61 - 'Z_FOR_EACH_IDX_EXEC'
62 - 'Z_FOR_EACH_IDX_FIXED_ARG'
63 - 'Z_FOR_EACH_IDX_FIXED_ARG_EXEC'
Håkon Alsetha88dc362018-10-04 14:21:59 +020064 - 'Z_GENLIST_FOR_EACH_CONTAINER'
65 - 'Z_GENLIST_FOR_EACH_CONTAINER_SAFE'
66 - 'Z_GENLIST_FOR_EACH_NODE'
67 - 'Z_GENLIST_FOR_EACH_NODE_SAFE'
Yuval Peress9c624fa2023-05-25 10:13:32 -060068 - 'STRUCT_SECTION_FOREACH'
69 - 'TYPE_SECTION_FOREACH'
Rodrigo Peixoto23128972023-12-24 12:13:56 -030070 - 'K_SPINLOCK'
Emil Gydesen8af066b2023-02-27 16:55:31 +010071IfMacros:
72 - 'CHECKIF'
Anas Nashifc417cbc2022-08-19 14:57:17 -040073# Disabled for now, see bug https://github.com/zephyrproject-rtos/zephyr/issues/48520
74#IncludeBlocks: Regroup
Håkon Alsetha88dc362018-10-04 14:21:59 +020075IncludeCategories:
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010076 - Regex: '^".*\.h"$'
77 Priority: 0
78 - 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 +020079 Priority: 1
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010080 - Regex: '^\<zephyr/.*\.h\>$'
81 Priority: 2
82 - Regex: '.*'
83 Priority: 3
Håkon Alsetha88dc362018-10-04 14:21:59 +020084IndentCaseLabels: false
Håkon Alsetha88dc362018-10-04 14:21:59 +020085IndentWidth: 8
Keith Short42f746c2022-12-20 09:16:19 -070086InsertBraces: true
Gerard Marull-Paretas407041a2022-12-22 10:51:14 +010087SpaceBeforeParens: ControlStatementsExceptControlMacros
Yuval Peress0f40ddd2023-01-18 22:27:57 -070088SortIncludes: Never
Emil Gydesen6c91e4d2023-04-18 14:46:32 +020089UseTab: ForContinuationAndIndentation
Gerard Marull-Paretasbac0dbe2021-12-17 16:16:48 +010090WhitespaceSensitiveMacros:
91 - STRINGIFY
92 - Z_STRINGIFY