-
Notifications
You must be signed in to change notification settings - Fork 0
/
.clang-tidy
92 lines (86 loc) · 3.73 KB
/
.clang-tidy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
---
# clang-tidy configuration
#
# clang-tidy can be run manually like this:
#
# run-clang-tidy -p build 'src.*'
#
# To apply fixes suggested by clang-tidy, run:
#
# run-clang-tidy -p build -fix -format 'src.*'
#
# To limit the run to certain checks:
#
# run-clang-tidy -checks='-*,modernize-use-nullptr' -p build 'Source.*'
#
# clang-tidy also has several IDE integrations listed here:
# https://clang.llvm.org/extra/clang-tidy/Integrations.html
# Enable most checks.
#
# Built-in checks:
# https://clang.llvm.org/extra/clang-tidy/checks/list.html
#
# Exclusions:
#
# -modernize-avoid-c-arrays
# We use C-arrays throughout, e.g. for `constexpr char []`.
# `std::array` is not a replacement because its length is
# not deduced.
#
# -modernize-use-trailing-return-type
# A purely stylistic change that we do not want.
#
# -modernize-concat-nested-namespaces
# -modernize-avoid-bind
# Compatibility with older compilers.
Checks: >
-*,
bugprone-*,
cppcoreguidelines-pro-type-cstyle-cast,
google-runtime-int,
llvm-include-order,
llvm-namespace-comment,
misc-*,
modernize-*,
performance-*,
portability-*,
readability-*,
-readability-magic-numbers,
-misc-non-private-member-variables-in-classes,
-modernize-avoid-c-arrays,
-modernize-use-trailing-return-type,
-modernize-concat-nested-namespaces,
-modernize-avoid-bind,
-bugprone-easily-swappable-parameters,
-readability-function-cognitive-complexity,
-readability-identifier-length
HeaderFilterRegex: 'src/.*\.(h|hpp)$'
CheckOptions:
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
- { key: readability-identifier-naming.StructCase, value: CamelCase }
- { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
- { key: readability-identifier-naming.MethodCase, value: camelBack }
- { key: readability-identifier-naming.FunctionCase, value: CamelCase }
- { key: readability-identifier-naming.ParameterCase, value: camelBack }
- { key: readability-identifier-naming.MemberCase, value: camelBack }
- { key: readability-identifier-naming.VariableCase, value: camelBack }
- { key: readability-identifier-naming.ClassMemberCase, value: lower_case }
- { key: readability-identifier-naming.GlobalVariableCase, value: aNy_CasE }
- { key: readability-identifier-naming.GlobalFunctionCase, value: aNy_CasE }
- { key: readability-identifier-naming.ClassMemberSuffix, value: _ }
- { key: readability-identifier-naming.PrivateMemberSuffix, value: _ }
- { key: readability-identifier-naming.ProtectedMemberSuffix, value: _ }
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
- { key: readability-identifier-naming.GlobalConstantCase, value: CamelCase }
- { key: readability-identifier-naming.MemberConstantCase, value: CamelCase }
- { key: readability-identifier-naming.StaticConstantCase, value: CamelCase }
# Allow short if-statements without braces
- { key: readability-braces-around-statements.ShortStatementLines, value: 3 }
# Use <cstdint> fixed-width integer types instead of short, long and long long
- { key: google-runtime-int.UnsignedTypePrefix, value: "std::uint" }
- { key: google-runtime-int.SignedTypePrefix, value: "std::int" }
- { key: google-runtime-int.TypeSuffix, value: "_t" }
# `int8_t` aren't used as chars, disable misleading warning.
- { key: bugprone-signed-char-misuse.CharTypdefsToIgnore, value: "std::int8_t" }