aboutsummaryrefslogtreecommitdiff
path: root/.clang-tidy
blob: 49c1de0fd84b2d257eaf978ab5dd0567b6a47e1a (plain) (blame)
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
HeaderFilterRegex: '.*'
WarningsAsErrors: '*'

# Available checks:
#   https://clang.llvm.org/extra/clang-tidy/index.html#using-clang-tidy
#   https://clang.llvm.org/extra/clang-tidy/checks/list.html
#
# List all checks:
#   clang-tidy --checks="*" --list-checks
#
# Excuse all lints for a line inside the source code:
#   some code;  // NOLINT
#
#   // NOLINTNEXTLINE
#   some code;
#
# Excuse a single lint for a line inside the source code:
#   some code; // NOLINT(bugprone-macro-parentheses)
#
#   // NOLINTNEXTLINE(bugprone-macro-parentheses)
#   some code;
Checks: >
  -*,
  clang-analyzer-*,
  -clang-analyzer-cplusplus.Move,
  performance-*,
  portability-*,
  concurrency-*,
  modernize-*,
  -modernize-use-trailing-return-type,
  -modernize-avoid-c-arrays,
  readability-reduntant-*,
  readability-identifier-naming,
  misc-*,
  -misc-non-private-member-variables-in-classes,
  -misc-const-correctness,
  #cert-*,
  bugprone-*,
  -bugprone-use-after-move,
  #cppcoreguidelines-*,

# readability-identifier-naming.* options:
#   https://clang.llvm.org/extra/clang-tidy/checks/readability/identifier-naming.html
CheckOptions:
  - { key: readability-identifier-naming.ClassCase,  value: lower_case }
  - { key: readability-identifier-naming.MethodCase, value: lower_case }
  - { key: readability-identifier-naming.MemberCase, value: lower_case }
  - { key: readability-identifier-naming.ProtectedMemberCase,   value: lower_case }
  - { key: readability-identifier-naming.ProtectedMemberPrefix, value: m_ }
  - { key: readability-identifier-naming.PrivateMemberCase,     value: lower_case }
  - { key: readability-identifier-naming.PrivateMemberPrefix,   value: m_ }

  - { key: readability-identifier-naming.EnumConstantCase,      value: CamelCase }
  - { key: readability-identifier-naming.EnumConstantPrefix,    value: k }
  - { key: readability-identifier-naming.ConstantCase,          value: CamelCase }
  - { key: readability-identifier-naming.ConstantPrefix,        value: k }
  - { key: readability-identifier-naming.ConstantIgnoredRegexp, value: is_.*_v }

  - { key: readability-identifier-naming.FunctionCase,  value: lower_case }
  - { key: readability-identifier-naming.ParameterCase, value: lower_case }
  - { key: readability-identifier-naming.VariableCase,  value: lower_case }

  - { key: readability-identifier-naming.TemplateParameterCase, value: CamelCase }
  - { key: readability-identifier-naming.MacroDefinitionCase,   value: UPPER_CASE }