diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2016-06-24 14:51:44 +0200 |
---|---|---|
committer | Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> | 2016-07-06 08:10:09 +0000 |
commit | 43f97c047703ef4f11f80507fea1f48e7de2de91 (patch) | |
tree | 7037e5d468025b83c8840214cc124232b5d5bf6c /config | |
parent | 329c3a2c0ce5e3bb4bf095328d1a3e933bd99d3b (diff) |
Add a clang-format config file
It can be copied or linked to ~/.clang-format or
path/to/qt5/.clang-format
It is based on the WebKit style which is the closest builtin style to Qt.
Then it was adjusted to fit better to the existing Qt style.
The name starts with a '_' instead of with an '.' because I don't want
the file to be hidden in this repository. And clang-format both look for file
named '.clang-format' or '_clang-format'
Change-Id: I0dd561fa9b554331ceaf3a39ea7e3a78649e75c4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'config')
-rw-r--r-- | config/_clang-format | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/config/_clang-format b/config/_clang-format new file mode 100644 index 0000000..473b792 --- /dev/null +++ b/config/_clang-format @@ -0,0 +1,55 @@ +# Copyright (C) 2016 Olivier Goffart <ogoffart@woboq.com> +# +# 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: 100 + +# 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: true +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 |