--- Language: Cpp BasedOnStyle: LLVM # --- Отступы --- IndentWidth: 4 # 4 пробела — стандарт для embedded TabWidth: 4 UseTab: Never # Только пробелы, чтобы не было войны в git # --- Скобки --- BreakBeforeBraces: Allman # Открывающая скобка на новой строке # Альтернатива: Linux (скобка после if/for, но # Allman нагляднее при отладке железа) # --- Длина строки --- ColumnLimit: 100 # 80 — слишком мало для современных мониторов # --- Выравнивание --- AlignConsecutiveAssignments: Enabled: true # Выравнивает = в блоках присваиваний AcrossEmptyLines: false AcrossComments: false AlignConsecutiveMacros: Enabled: true # Очень удобно для регистровых масок AcrossEmptyLines: false AcrossComments: false AlignConsecutiveDeclarations: Enabled: false # Спорно — может ломать читаемость # --- Пробелы --- SpaceBeforeParens: ControlStatements # if (...) но func(...) SpaceInEmptyParentheses: false SpacesInParentheses: false SpaceAfterCStyleCast: true # (uint8_t) value # --- Указатели --- PointerAlignment: Right # uint8_t *ptr (или Left — uint8_t* ptr) # Right — традиционный C стиль # --- Переносы --- AllowShortFunctionsOnASingleLine: None # Запрет коротких функций в одну строку AllowShortIfStatementsOnASingleLine: Never # if всегда с телом на новой строке AllowShortLoopsOnASingleLine: false # --- Include-сортировка --- SortIncludes: CaseSensitive IncludeBlocks: Regroup # Группирует и сортирует #include блоки # --- Комментарии --- ReflowComments: false # НЕ переформатировать комментарии автоматически # Важно для ASCII-art схем и таблиц регистров! # --- Прочее --- InsertTrailingCommas: None Cpp11BracedListStyle: false