]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Add .clang-format file
authorSebastian Jennen <sebastian.t.jennen@gmail.com>
Thu, 16 Apr 2020 10:48:42 +0000 (12:48 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 17 Apr 2020 13:54:17 +0000 (15:54 +0200)
The result of automatic formatting is not perfect, but if someone uses an
editor that uses that, it's probably better than nothing.

Fixes #15415.

[zjs: I resurrected this patch from #11811 and edited the extended comment
heavily.]

.clang-format [new file with mode: 0644]

diff --git a/.clang-format b/.clang-format
new file mode 100644 (file)
index 0000000..ef7c918
--- /dev/null
@@ -0,0 +1,112 @@
+# This configuration file can be used to auto-format the code base.
+# Not all guidelines specified in CODING_STYLE are followed, so the
+# result MUST NOT be committed indiscriminately, but each automated
+# change should be reviewed and only the appropriate ones commited.
+#
+# To apply the coding style you can run the following command (assuming you
+# installed clang-format on your system):
+#
+# $ git ls-files 'src/*.[ch]' 'src/*.cc' | xargs clang-format -i -style=file
+# You can find more information on the different config parameters in this file here:
+# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
+---
+AccessModifierOffset: -4
+AlignAfterOpenBracket: AlwaysBreak
+AlignEscapedNewlines: Left
+AlignOperands:   false
+AllowShortFunctionsOnASingleLine: None
+AlwaysBreakBeforeMultilineStrings: true
+AlwaysBreakTemplateDeclarations: Yes
+BinPackArguments: false
+BinPackParameters: false
+BraceWrapping:
+  AfterEnum:       true
+  SplitEmptyFunction: false
+  SplitEmptyRecord: false
+  SplitEmptyNamespace: false
+BreakBeforeBraces: Custom
+BreakInheritanceList: BeforeComma
+BreakBeforeTernaryOperators: false
+BreakStringLiterals: false
+ColumnLimit:     109
+CompactNamespaces: true
+ConstructorInitializerAllOnOneLineOrOnePerLine: true
+ConstructorInitializerIndentWidth: 8
+ContinuationIndentWidth: 8
+Cpp11BracedListStyle: false
+ForEachMacros:
+  - BITMAP_FOREACH
+  - CMSG_FOREACH
+  - _DNS_ANSWER_FOREACH
+  - DNS_ANSWER_FOREACH
+  - _DNS_ANSWER_FOREACH_FLAGS
+  - DNS_ANSWER_FOREACH_FLAGS
+  - _DNS_ANSWER_FOREACH_FULL
+  - DNS_ANSWER_FOREACH_FULL
+  - _DNS_ANSWER_FOREACH_IFINDEX
+  - DNS_ANSWER_FOREACH_IFINDEX
+  - _DNS_QUESTION_FOREACH
+  - DNS_QUESTION_FOREACH
+  - FDSET_FOREACH
+  - FOREACH_BTRFS_IOCTL_SEARCH_HEADER
+  - FOREACH_DEVICE
+  - FOREACH_DEVICE_AND_SUBSYSTEM
+  - FOREACH_DEVICE_DEVLINK
+  - FOREACH_DEVICE_PROPERTY
+  - FOREACH_DEVICE_SYSATTR
+  - FOREACH_DEVICE_TAG
+  - FOREACH_DIRENT
+  - FOREACH_DIRENT_ALL
+  - FOREACH_INOTIFY_EVENT
+  - FOREACH_STRING
+  - FOREACH_SUBSYSTEM
+  - _FOREACH_WORD
+  - FOREACH_WORD
+  - FOREACH_WORD_SEPARATOR
+  - HASHMAP_FOREACH
+  - HASHMAP_FOREACH_IDX
+  - HASHMAP_FOREACH_KEY
+  - JOURNAL_FOREACH_DATA_RETVAL
+  - JSON_VARIANT_ARRAY_FOREACH
+  - JSON_VARIANT_OBJECT_FOREACH
+  - LIST_FOREACH
+  - LIST_FOREACH_AFTER
+  - LIST_FOREACH_BEFORE
+  - LIST_FOREACH_OTHERS
+  - LIST_FOREACH_SAFE
+  - MESSAGE_FOREACH_PART
+  - NULSTR_FOREACH
+  - NULSTR_FOREACH_PAIR
+  - OBJECT_PATH_FOREACH_PREFIX
+  - ORDERED_HASHMAP_FOREACH
+  - ORDERED_HASHMAP_FOREACH_KEY
+  - ORDERED_SET_FOREACH
+  - PATH_FOREACH_PREFIX
+  - PATH_FOREACH_PREFIX_MORE
+  - SD_HWDB_FOREACH_PROPERTY
+  - SD_JOURNAL_FOREACH
+  - SD_JOURNAL_FOREACH_BACKWARDS
+  - SD_JOURNAL_FOREACH_DATA
+  - SD_JOURNAL_FOREACH_FIELD
+  - SD_JOURNAL_FOREACH_UNIQUE
+  - SECCOMP_FOREACH_LOCAL_ARCH
+  - SET_FOREACH
+  - SET_FOREACH_MOVE
+  - STRV_FOREACH
+  - STRV_FOREACH_BACKWARDS
+  - STRV_FOREACH_PAIR
+IndentPPDirectives: AfterHash
+IndentWidth:     8
+IndentWrappedFunctionNames: true
+MaxEmptyLinesToKeep: 2
+PenaltyBreakAssignment: 65
+PenaltyBreakBeforeFirstCallParameter: 16
+PenaltyBreakComment: 320
+PenaltyBreakFirstLessLess: 50
+PenaltyBreakString: 0
+PenaltyExcessCharacter: 10
+PenaltyReturnTypeOnItsOwnLine: 100
+SpaceAfterCStyleCast: true
+SpacesInAngles:  true
+TabWidth:        8
+UseCRLF:         false