From 1e514c75501f0b9db78e27acadfc2d83a80848c7 Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Wed, 17 Apr 2024 21:25:40 -0400 Subject: [PATCH] add .clang-format (with a disclaimer) .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 | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 00000000..a8e09433 --- /dev/null +++ b/.clang-format @@ -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']