# clang-format is fairly limited, and these rules are approximate: # - array initializers can get terribly mangled with clang-format 12.0, # - sometimes it still aligns with space characters, # - struct name NL { NL ... NL } NL name; is unachievable. BasedOnStyle: GNU ColumnLimit: 80 IndentWidth: 4 TabWidth: 4 UseTab: ForContinuationAndIndentation BreakBeforeBraces: Allman SpaceAfterCStyleCast: true AlignAfterOpenBracket: DontAlign AlignEscapedNewlines: DontAlign AlignOperands: DontAlign AlignConsecutiveMacros: Consecutive AllowAllArgumentsOnNextLine: false AllowAllParametersOfDeclarationOnNextLine: false IndentGotoLabels: false MaxEmptyLinesToKeep: 2 # IncludeCategories has some potential, but it may also break the build. # Note that the documentation says the value should be "Never". SortIncludes: false # Must be kept synchronized with gi18n.h and make-template.sh. WhitespaceSensitiveMacros: ['_', 'Q_', 'N_', 'C_', 'NC_'] # This is a compromise, it generally works out aesthetically better. BinPackArguments: false # Unfortunately, this can't be told to align to column 40 or so. SpacesBeforeTrailingComments: 2