aboutsummaryrefslogtreecommitdiff
path: root/.clang-format
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-10-25 16:49:23 +0200
committerPřemysl Eric Janouch <p@janouch.name>2021-10-25 18:06:50 +0200
commitbc8ceebef7530b767e9e454f3c5cd6e1749675bd (patch)
treeae63f86facb3bc0dd0223b570131bae5542fb716 /.clang-format
parentda0a5c43dc53a48a70f4f1a15bce081b87bbe85f (diff)
downloadlogdiag-bc8ceebef7530b767e9e454f3c5cd6e1749675bd.tar.gz
logdiag-bc8ceebef7530b767e9e454f3c5cd6e1749675bd.tar.xz
logdiag-bc8ceebef7530b767e9e454f3c5cd6e1749675bd.zip
Add clang-format configuration, clean up
Diffstat (limited to '.clang-format')
-rw-r--r--.clang-format37
1 files changed, 37 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..baa0d48
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,37 @@
+# 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
+AlignConsecutiveAssignments: true
+AlignAfterOpenBracket: DontAlign
+AlignEscapedNewlines: DontAlign
+AlignOperands: DontAlign
+AlignConsecutiveMacros: Consecutive
+AllowAllArgumentsOnNextLine: false
+AllowAllParametersOfDeclarationOnNextLine: false
+Cpp11BracedListStyle: true
+MaxEmptyLinesToKeep: 2
+
+# IncludeCategories has some potential, but currently it breaks 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 doesn't work for block comments, used in logdiag.
+SpacesBeforeTrailingComments: 2
+
+# logdiag-specific function body wrappers.
+MacroBlockBegin: "LD_LUA_CAIRO_BEGIN"
+MacroBlockEnd: "LD_LUA_CAIRO_END"