Browse Source
1. Provides additional warnings and **can apply some automatic fixes**. 2. Suggest consistent identifier naming based on the Google Style Guide.pull/1242/head
2 changed files with 77 additions and 0 deletions
@ -0,0 +1,76 @@
|
||||
--- |
||||
# clang-tidy configuration |
||||
# |
||||
# clang-tidy can be run manually over a set of files like this: |
||||
# |
||||
# clang-tidy -p build/compile_commands.json SourceS/**/*.cpp |
||||
# |
||||
# To apply fixes suggested by clang-tidy, run: |
||||
# |
||||
# clang-tidy -p build/compile_commands.json --fix SourceS/**/*.cpp |
||||
# |
||||
# 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. |
||||
Checks: > |
||||
-*, |
||||
bugprone-*, |
||||
cppcoreguidelines-pro-type-cstyle-cast, |
||||
google-runtime-int, |
||||
llvm-include-order, |
||||
llvm-namespace-comment, |
||||
misc-*, |
||||
modernize-*, |
||||
performance-*, |
||||
portability-*, |
||||
readability-*, |
||||
-modernize-avoid-c-arrays, |
||||
-modernize-use-trailing-return-type, |
||||
|
||||
HeaderFilterRegex: "^Source[SXT].*\\.h$" |
||||
|
||||
CheckOptions: |
||||
# Identifier names per the Google Style Guide: |
||||
# https://google.github.io/styleguide/cppguide.html#General_Naming_Rules |
||||
- { 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.FunctionCase, value: aNy_CasE } |
||||
- { key: readability-identifier-naming.VariableCase, value: lower_case } |
||||
- { key: readability-identifier-naming.ClassMemberCase, value: lower_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.EnumConstantPrefix, value: k } |
||||
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase } |
||||
- { key: readability-identifier-naming.ConstexprVariablePrefix, value: k } |
||||
- { key: readability-identifier-naming.GlobalConstantCase, value: CamelCase } |
||||
- { key: readability-identifier-naming.GlobalConstantPrefix, value: k } |
||||
- { key: readability-identifier-naming.MemberConstantCase, value: CamelCase } |
||||
- { key: readability-identifier-naming.MemberConstantPrefix, value: k } |
||||
- { key: readability-identifier-naming.StaticConstantCase, value: CamelCase } |
||||
- { key: readability-identifier-naming.StaticConstantPrefix, value: k } |
||||
|
||||
# Allow short if-statements without braces |
||||
- { key: readability-braces-around-statements.ShortStatementLines, value: 2 } |
||||
|
||||
# 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" } |
||||
Loading…
Reference in new issue