From 566e6c813efc15c95c7495d235b22fb714e2060d Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 28 Apr 2017 09:41:52 +0200 Subject: [PATCH] Add .clang-format style From http://code.qt.io/cgit/qt/qtrepotools.git/tree/config/_clang-format --- .clang-format | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..8d32bb250 --- /dev/null +++ b/.clang-format @@ -0,0 +1,63 @@ +# Copyright (C) 2016 Olivier Goffart +# +# You may use this file under the terms of the 3-clause BSD license. +# See the file LICENSE from this package for details. + +# This is the clang-format configuration style to be used by Qt, +# based on the rules from https://wiki.qt.io/Qt_Coding_Style and +# https://wiki.qt.io/Coding_Conventions + +--- +# Webkit style was loosely based on the Qt style +BasedOnStyle: WebKit + +Standard: Cpp11 +ColumnLimit: 0 + +# Disable reflow of qdoc comments: indentation rules are different. +# Translation comments are also excluded +CommentPragmas: "^!|^:" + +# We want a space between the type and the star for pointer types +PointerBindsToType: false + +# We want to break before the operators, but not before a '=' +BreakBeforeBinaryOperators: NonAssignment + +# Braces are usually attached, but not after functions or classes declaration +BreakBeforeBraces: Custom +BraceWrapping: + AfterClass: true + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: true + AfterUnion: false + BeforeCatch: false + BeforeElse: false + IndentBraces: false + +# The coding style does not specify the following, but this is what gives +# results closest to the existing code. +AlignAfterOpenBracket: DontAlign +AlwaysBreakTemplateDeclarations: true + +# Ideally we should also allow less short function in a single line, but +# clang-format does not handle that +AllowShortFunctionsOnASingleLine: Inline + +# The coding style specifies some include order categories, but also tells to +# separate categories with an empty line. It does not specify the order within +# the categories. Since the SortInclude feature of clang-format does not +# re-order includes separated by empty lines, the feature is not used. +SortIncludes: false + +# macros for which the opening brace stays attached +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ] + +# Allow two empty lines for structuring +MaxEmptyLinesToKeep: 2 +KeepEmptyLinesAtTheStartOfBlocks: false +