From 5e7487c7b4e1ac30b7837e90a25786629c7fc291 Mon Sep 17 00:00:00 2001
From: Jerome Hue <jerome.hue@cea.fr>
Date: Wed, 9 Oct 2024 18:36:12 +0200
Subject: [PATCH] chore: Add a .clang-tidy file

Only Google checks are enabled, and the naming follows Webkit conventions.
---
 .clang-tidy | 188 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)
 create mode 100644 .clang-tidy

diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 000000000..77e8c9dbd
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1,188 @@
+---
+Checks: "google-*, readability-identifier-naming"
+WarningsAsErrors: ''
+HeaderFilterRegex: ''
+FormatStyle: none
+CheckOptions:
+  # Case style
+    # Following https://webkit.org/code-style-guidelines/ :
+    # CamelCase for class,struct, namespace
+    # camelBack for variables, functions
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.AbstractClassCase'
+    value: 'CamelCase'
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.ClassCase'
+    value: 'CamelCase'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ClassConstantCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.ClassConstantPrefix'
+    value: 's_'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ClassMemberCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.ClassMemberPrefix'
+    value: 's_'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ClassMethodCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantMemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantPointerParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ClassMemberCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.ClassMemberPrefix'
+    value: 's_'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ClassMethodCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantMemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstantPointerParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstexprFunctionCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstexprMethodCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ConstexprVariableCase'
+    value: 'camelBack'
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.EnumCase'
+    value: 'CamelCase'
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.EnumConstantCase'
+    value: 'CamelCase'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.FunctionCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.GlobalConstantCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.GlobalConstantPointerCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.GlobalFunctionCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.GlobalPointerCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.GlobalVariableCase'
+    value: 'camelBack'
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.InlineNamespaceCase'
+    value: 'CamelCase'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.LocalConstantCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.LocalConstantPointerCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.LocalPointerCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.LocalVariableCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.MacroDefinitionCase'
+    value: 'UPPER_CASE'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.MemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.MethodCase'
+    value: 'CamelCase'
+  # CamelCase for class,struct, namespace
+  - key: 'readability-identifier-naming.NamespaceCase'
+    value: 'CamelCase'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ParameterPackCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PointerParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PrivateMemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PrivateMemberPrefix'
+    value: 'm_'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PrivateMethodCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ProtectedMemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ProtectedMemberPrefix'
+    value: 'm_'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ProtectedMethodCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PublicMemberCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.PublicMethodCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.ScopedEnumConstantCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.StaticConstantCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.StaticVariableCase'
+    value: 'camelBack'
+  - key: 'readability-identifier-naming.StructCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.TemplateParameterCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.TemplateTemplateParameterCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.TypeTemplateParameterIgnoredRegexp'
+    value: 'expr-type'
+  # CamelCase for Type aliases
+  - key: 'readability-identifier-naming.TypeAliasCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.TypedefCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.TypeTemplateParameterCase'
+    value: 'CamelCase'
+  - key: 'readability-identifier-naming.UnionCase'
+    value: 'CamelCase'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.ValueTemplateParameterCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.VariableCase'
+    value: 'camelBack'
+  # camelBack for variables, functions
+  - key: 'readability-identifier-naming.VirtualMethodCase'
+    value: 'camelCase'
+...
-- 
GitLab