bac0dbe8f2
The amount of options available on clang-format has become quite extensive over-time, making a dumped file difficult to read or maintain. In this patch the .clang-format has been re-written by inheriting from LLVM (default) since most of the options can be re-used to match the Zephyr/Linux coding style conventions. Note: The 14 release has interesting options for Zephyr, in particular, these new settings would be beneficial: IfMacros: - CHECKIF SpaceBeforeParens: Custom SpaceBeforeParensOptions: AfterForeachMacros: true AfterIfMacros: true .clang-format should be periodically updated as new clang-format releases reach Linux distros. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
# 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
|
|
AttributeMacros:
|
|
- __aligned
|
|
- __deprecated
|
|
- __packed
|
|
- __printf_like
|
|
- __syscall
|
|
- __subsystem
|
|
BreakBeforeBraces: Linux
|
|
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'
|
|
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
|
|
# SpaceBeforeParens: ControlStatementsExceptControlMacros # clang-format >= 13.0
|
|
UseTab: Always
|
|
WhitespaceSensitiveMacros:
|
|
- STRINGIFY
|
|
- Z_STRINGIFY
|