mirror of
https://github.com/rizinorg/cutter
synced 2026-08-11 16:23:06 -04:00
Added scripts/clang-tidy.py Updated doc to tell about clang-tidy Added checks for clang-tidy are defined below * cppcoreguidelines-pro-type-cstyle-cast * misc-const-correctness * misc-unused-parameters * modernize-loop-convert * modernize-use-auto * modernize-use-nullptr * readability-braces-around-statements * readability-identifier-naming * readability-make-member-function-const * performance-for-range-copy * performance-enum-size * performance-move-const-arg * performance-no-automatic-move * performance-noexcept-destructor * performance-noexcept-move-constructor * performance-noexcept-swap * performance-unnecessary-copy-initialization * performance-unnecessary-value-param * performance-use-std-move * performance-move-constructor-init
119 lines
3.9 KiB
Text
119 lines
3.9 KiB
Text
# 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
|
|
|
|
# Cutter specific modifications at the bottom. This file is used to generate
|
|
# _clang_format at the root of repository using update_clang_format.sh
|
|
|
|
---
|
|
# Webkit style was loosely based on the Qt style
|
|
BasedOnStyle: WebKit
|
|
|
|
Standard: Cpp11
|
|
|
|
# Column width is limited to 100 in accordance with Qt Coding Style.
|
|
# https://wiki.qt.io/Qt_Coding_Style
|
|
# Note that this may be changed at some point in the future.
|
|
ColumnLimit: 100
|
|
# How much weight do extra characters after the line length limit have.
|
|
# PenaltyExcessCharacter: 4
|
|
|
|
# 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 use template< without space.
|
|
SpaceAfterTemplateKeyword: false
|
|
|
|
# We want to break before the operators, but not before a '='.
|
|
BreakBeforeBinaryOperators: NonAssignment
|
|
|
|
# Braces are usually attached, but not after functions or class declarations.
|
|
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
|
|
|
|
# When constructor initializers do not fit on one line, put them each on a new line.
|
|
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
|
# Indent initializers by 4 spaces
|
|
ConstructorInitializerIndentWidth: 4
|
|
|
|
# Indent width for line continuations.
|
|
ContinuationIndentWidth: 8
|
|
|
|
# No indentation for namespaces.
|
|
NamespaceIndentation: None
|
|
|
|
# Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125
|
|
IndentPPDirectives: AfterHash
|
|
|
|
# Horizontally align arguments after an open bracket.
|
|
# 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: true
|
|
|
|
# macros for which the opening brace stays attached.
|
|
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE, CutterRzListForeach ]
|
|
|
|
# Break constructor initializers before the colon and after the commas.
|
|
BreakConstructorInitializers: BeforeColon
|
|
|
|
# Cutter additions to Qt's Clang file
|
|
# ====================================
|
|
|
|
# Align the assignment operators of consecutive lines
|
|
AlignConsecutiveAssignments: false
|
|
|
|
# Sort headers in the following groups in alphabetical order
|
|
# Each group is seperated by an empty line
|
|
# 1- Main header
|
|
# 2- Local headers starting with ""
|
|
# 3- Qt headers starting with <Q...> or <q...>
|
|
# 4- Standard C++ headers or any others
|
|
IncludeBlocks: Regroup
|
|
IncludeCategories:
|
|
- Regex: '^"([^"]*)"'
|
|
Priority: 1
|
|
- Regex: '^<[Qq]'
|
|
Priority: 2
|
|
- Regex: '.*'
|
|
Priority: 3
|
|
|
|
# Insert braces after conditional statements/loops even if they
|
|
# contain a single statement
|
|
InsertBraces: true
|
|
|
|
# Insert space in empty braces
|
|
SpaceInEmptyBlock: false
|
|
|
|
# Removes the spaces around ->
|
|
StatementAttributeLikeMacros: [emit]
|