]> git.mdlowis.com Git - proto/labwc.git/commitdiff
add .clang-format (with a disclaimer)
authorJohn Lindgren <john@jlindgren.net>
Thu, 18 Apr 2024 01:25:40 +0000 (21:25 -0400)
committerJohan Malm <johanmalm@users.noreply.github.com>
Thu, 18 Apr 2024 20:52:38 +0000 (21:52 +0100)
.clang-format gets picked up nowadays by some IDEs (tested Qt Creator)
for auto-formatting aids. With the large caveat that it's not 100%
accurate to labwc's preferred coding style, I've found that this config
gets it right 90% of the time, which is enough to be helpful.

I added a prominent disclaimer comment to the top of the file to warn
people away from relying completely on clang-format. This isn't meant
to replace manual attention to formatting details (or to replace
./scripts/check) but I think it doesn't hurt.

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

diff --git a/.clang-format b/.clang-format
new file mode 100644 (file)
index 0000000..a8e0943
--- /dev/null
@@ -0,0 +1,25 @@
+# Note: this is an VERY rough approximation of labwc's coding style (see
+# CONTRIBUTING.md) and is intended only as a hint for IDE formatting
+# aids. DO NOT rely on clang-format or your IDE for correct formatting;
+# always check the result manually (and run ./scripts/check)!
+#
+# Some notable things that clang-format gets wrong:
+#  - no support for double-indenting before an opening brace
+#  - does not always round continuation indent/alignment to tab stops
+
+BasedOnStyle: LLVM
+UseTab: Always
+IndentWidth: 8
+ContinuationIndentWidth: 8
+AlignAfterOpenBracket: DontAlign
+AlwaysBreakAfterDefinitionReturnType: true
+BreakBeforeBinaryOperators: NonAssignment
+BreakBeforeBraces: Linux
+IndentCaseLabels: false
+SpaceBeforeParens: ControlStatementsExceptControlMacros
+ForEachMacros: ['for_each_view',
+                'wl_array_for_each',
+                'wl_list_for_each',
+                'wl_list_for_each_reverse',
+                'wl_list_for_each_reverse_safe',
+                'wl_list_for_each_safe']