You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.8 KiB
91 lines
3.8 KiB
--- |
|
# clang-tidy configuration |
|
# |
|
# clang-tidy can be run manually like this: |
|
# |
|
# run-clang-tidy -p build 'Source.*' |
|
# |
|
# To apply fixes suggested by clang-tidy, run: |
|
# |
|
# run-clang-tidy -p build -fix -format 'Source.*' |
|
# |
|
# 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 |
|
|
|
HeaderFilterRegex: "^(Source|test)\\.h$" |
|
|
|
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" } |
|
|
|
- { key: readability-identifier-length.MinimumLoopCounterNameLength, value: 1 }
|
|
|