ソースを参照

pick up clang-format conf files from KDE community

takes it from current extra-cmake-modules repository

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Matthieu Gallien 3 年 前
コミット
44eb234469
1 ファイル変更72 行追加49 行削除
  1. 72 49
      .clang-format

+ 72 - 49
.clang-format

@@ -1,65 +1,88 @@
-# Copyright (C) 2016 Olivier Goffart <ogoffart@woboq.com>
+---
+# SPDX-FileCopyrightText: 2019 Christoph Cullmann <cullmann@kde.org>
+# SPDX-FileCopyrightText: 2019 Gernot Gebhard <gebhard@absint.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
+# SPDX-License-Identifier: MIT
 
+# This file got automatically created by ECM, do not edit
+# See https://clang.llvm.org/docs/ClangFormatStyleOptions.html for the config options
+# and https://community.kde.org/Policies/Frameworks_Coding_Style#Clang-format_automatic_code_formatting
+# for clang-format tips & tricks
 ---
-# Webkit style was loosely based on the Qt style
+Language: JavaScript
+DisableFormat: true
+---
+
+# Style for C++
+Language: Cpp
+
+# base is WebKit coding style: https://webkit.org/code-style-guidelines/
+# below are only things set that diverge from this style!
 BasedOnStyle: WebKit
 
+# enforce C++11 (e.g. for std::vector<std::vector<lala>>
 Standard: Cpp11
-ColumnLimit: 120
 
-# Disable reflow of qdoc comments: indentation rules are different.
-# Translation comments are also excluded
-CommentPragmas: "^!|^:"
+# 4 spaces indent
+TabWidth: 4
 
-# We want a space between the type and the star for pointer types
-PointerBindsToType: false
+# 2 * 80 wide lines
+ColumnLimit: 160
 
-# We want to break before the operators, but not before a '='
-BreakBeforeBinaryOperators: NonAssignment
+# sort includes inside line separated groups
+SortIncludes: true
 
-# 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
+# break before braces on function, namespace and class definitions.
+BreakBeforeBraces: Linux
 
-# Ideally we should also allow less short function in a single line, but
-# clang-format does not handle that
-AllowShortFunctionsOnASingleLine: Inline
+# CrlInstruction *a;
+PointerAlignment: Right
 
-# 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
+# horizontally aligns arguments after an open bracket.
+AlignAfterOpenBracket: Align
 
-# macros for which the opening brace stays attached
-ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ]
+# don't move all parameters to new line
+AllowAllParametersOfDeclarationOnNextLine: false
 
-# Allow two empty lines for structuring
-MaxEmptyLinesToKeep: 2
-KeepEmptyLinesAtTheStartOfBlocks: false
+# no single line functions
+AllowShortFunctionsOnASingleLine: None
 
-SpaceBeforeCpp11BracedList: false
+# always break before you encounter multi line strings
+AlwaysBreakBeforeMultilineStrings: true
+
+# don't move arguments to own lines if they are not all on the same
+BinPackArguments: false
+
+# don't move parameters to own lines if they are not all on the same
+BinPackParameters: false
+
+# In case we have an if statement with multiple lines the operator should be at the beginning of the line
+# but we do not want to break assignments
+BreakBeforeBinaryOperators: NonAssignment
+
+# format C++11 braced lists like function calls
 Cpp11BracedListStyle: true
+
+# do not put a space before C++11 braced lists
+SpaceBeforeCpp11BracedList: false
+
+# remove empty lines
+KeepEmptyLinesAtTheStartOfBlocks: false
+
+# no namespace indentation to keep indent level low
+NamespaceIndentation: None
+
+# we use template< without space.
+SpaceAfterTemplateKeyword: false
+
+# Always break after template declaration
+AlwaysBreakTemplateDeclarations: true
+
+# macros for which the opening brace stays attached.
+ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE , wl_resource_for_each, wl_resource_for_each_safe ]
+
+# keep lambda formatting multi-line if not empty
+AllowShortLambdasOnASingleLine: Empty
+
+# We do not want clang-format to put all arguments on a new line
+AllowAllArgumentsOnNextLine: false