# 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: - 'ARRAY_FOR_EACH' - 'ARRAY_FOR_EACH_PTR' - 'FOR_EACH' - 'FOR_EACH_FIXED_ARG' - 'FOR_EACH_IDX' - 'FOR_EACH_IDX_FIXED_ARG' - 'FOR_EACH_NONEMPTY_TERM' - 'FOR_EACH_FIXED_ARG_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' - 'STRUCT_SECTION_FOREACH_ALTERNATE' - 'TYPE_SECTION_FOREACH' - 'K_SPINLOCK' - 'COAP_RESOURCE_FOREACH' - 'COAP_SERVICE_FOREACH' - 'COAP_SERVICE_FOREACH_RESOURCE' - 'HTTP_RESOURCE_FOREACH' - 'HTTP_SERVER_CONTENT_TYPE_FOREACH' - 'HTTP_SERVICE_FOREACH' - 'HTTP_SERVICE_FOREACH_RESOURCE' - 'I3C_BUS_FOR_EACH_I3CDEV' - 'I3C_BUS_FOR_EACH_I2CDEV' 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: '^\$' Priority: 2 - Regex: '.*' Priority: 3 IndentCaseLabels: false IndentGotoLabels: false IndentWidth: 8 InsertBraces: true SpaceBeforeInheritanceColon: False SpaceBeforeParens: ControlStatementsExceptControlMacros SortIncludes: Never UseTab: ForContinuationAndIndentation WhitespaceSensitiveMacros: - COND_CODE_0 - COND_CODE_1 - IF_DISABLED - IF_ENABLED - LISTIFY - STRINGIFY - Z_STRINGIFY