From e815acddf8535a6c3709a43bcf643acf234d4856 Mon Sep 17 00:00:00 2001 From: offa Date: Wed, 29 Apr 2020 13:18:46 +0200 Subject: [PATCH] Clang-format configuration added. Some notes on the configuration options chosen: * We want `AllowShortEnumsOnASingleLine` set to `false`, but that option is clang-format-11 and up, which is not out yet. * `IndentPPDirectives` is currently inconsistent, but `AfterHash` is the preferred style in new code. * `NamespaceIndentation` is a mess, but `All` is closer to the effect we want than `Inner`. * `SpacesInParentheses` set to `true` is not ideal due to it also introducing extra spaces in preprocessor expressions, but using it is much closer to the current style than not. All in all, using this setting globally would reformat pretty much every line of code in the codebase, but it is as close as possible to the bespoke style currently used. Still, it should only be used on the diffs. Closes #1182 --- .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..2a82aacf --- /dev/null +++ b/.clang-format @@ -0,0 +1,25 @@ +--- +AccessModifierOffset: '-4' +AlignEscapedNewlines: Left +AllowAllConstructorInitializersOnNextLine: 'true' +BinPackArguments: 'false' +BinPackParameters: 'false' +BreakConstructorInitializers: AfterColon +ConstructorInitializerAllOnOneLineOrOnePerLine: 'true' +DerivePointerAlignment: 'false' +FixNamespaceComments: 'true' +IncludeBlocks: Regroup +IndentCaseLabels: 'false' +IndentPPDirectives: AfterHash +IndentWidth: '4' +Language: Cpp +NamespaceIndentation: All +PointerAlignment: Left +SpaceBeforeCtorInitializerColon: 'false' +SpaceInEmptyParentheses: 'false' +SpacesInParentheses: 'true' +Standard: Cpp11 +TabWidth: '4' +UseTab: Never + +...