-
Notifications
You must be signed in to change notification settings - Fork 806
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Showing
1 changed file
with
72 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |