summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2016-06-24 14:51:44 +0200
committerOlivier Goffart (Woboq GmbH) <ogoffart@woboq.com>2016-07-06 08:10:09 +0000
commit43f97c047703ef4f11f80507fea1f48e7de2de91 (patch)
tree7037e5d468025b83c8840214cc124232b5d5bf6c /config
parent329c3a2c0ce5e3bb4bf095328d1a3e933bd99d3b (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-format55
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