aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2021-10-29 07:51:02 +0200
committerPřemysl Eric Janouch <p@janouch.name>2021-10-30 02:59:33 +0200
commit57f89eba073757c83917dfcf2c73f4155d0daf15 (patch)
treee3e4acb6a1ee32793c5a14b8aadf33f15a94367e
parent4795ee851da3efc7dd4aef0ab24aa16e89c639d4 (diff)
downloadjson-rpc-shell-57f89eba073757c83917dfcf2c73f4155d0daf15.tar.gz
json-rpc-shell-57f89eba073757c83917dfcf2c73f4155d0daf15.tar.xz
json-rpc-shell-57f89eba073757c83917dfcf2c73f4155d0daf15.zip
Add clang-format configuration
-rw-r--r--.clang-format33
1 files changed, 33 insertions, 0 deletions
diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..fb5ebf7
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,33 @@
+# 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,
+# - EV_DEFAULT_ and EV_A_ are always taken as identifiers,
+# - 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
+AlignOperands: DontAlign
+AlignConsecutiveMacros: Consecutive
+AllowAllArgumentsOnNextLine: false
+AllowAllParametersOfDeclarationOnNextLine: false
+IndentGotoLabels: false
+
+# IncludeCategories has some potential, but it may also break the build.
+# Note that the documentation says the value should be "Never".
+SortIncludes: false
+
+# 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
+
+# liberty-specific macro body wrappers.
+MacroBlockBegin: "BLOCK_START"
+MacroBlockEnd: "BLOCK_END"
+ForEachMacros: ["LIST_FOR_EACH"]