-
-
Save airglow923/1fa3bda42f2b193920d7f46ee8345e04 to your computer and use it in GitHub Desktop.
| CheckOptions: | |
| - key: readability-identifier-naming.ClassCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.ClassMemberCase | |
| value: lower_case | |
| - key: readability-identifier-naming.ConstexprVariableCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.ConstexprVariablePrefix | |
| value: k | |
| - key: readability-identifier-naming.EnumCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.EnumConstantCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.EnumConstantPrefix | |
| value: k | |
| - key: readability-identifier-naming.FunctionCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.GlobalConstantCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.GlobalConstantPrefix | |
| value: k | |
| - key: readability-identifier-naming.StaticConstantCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.StaticConstantPrefix | |
| value: k | |
| - key: readability-identifier-naming.StaticVariableCase | |
| value: lower_case | |
| - key: readability-identifier-naming.MacroDefinitionCase | |
| value: UPPER_CASE | |
| - key: readability-identifier-naming.MacroDefinitionIgnoredRegexp | |
| value: '^[A-Z]+(_[A-Z]+)*_$' | |
| - key: readability-identifier-naming.PrivateMemberCase | |
| value: lower_case | |
| - key: readability-identifier-naming.ProtectedMemberCase | |
| value: lower_case | |
| - key: readability-identifier-naming.PublicMemberCase | |
| value: lower_case | |
| - key: readability-identifier-naming.PrivateMemberSuffix | |
| value: _ | |
| - key: readability-identifier-naming.ProtectedMemberSuffix | |
| value: _ | |
| - key: readability-identifier-naming.PublicMemberSuffix | |
| value: '' | |
| - key: readability-identifier-naming.NamespaceCase | |
| value: lower_case | |
| - key: readability-identifier-naming.ParameterCase | |
| value: lower_case | |
| - key: readability-identifier-naming.TypeAliasCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.TypedefCase | |
| value: CamelCase | |
| - key: readability-identifier-naming.VariableCase | |
| value: lower_case | |
| - key: readability-identifier-naming.IgnoreMainLikeFunctions | |
| value: 1 |
@rsglobal I think you're right. I thought all such variables mean variables regardless of their constness. However, after going through Google's source code, I could see non-const static variables are written with snake case:
- protobuf/stubs/common.cc
- protobuf/io/coded_stream_unittest.cc
- protobuf/testing/googletest.cc
- protobuf/extension_set.cc
- googletest/include/gtest/internal/gtest-port.h
- googletest/test/gtest_pred_impl_unittest.cc
I'm going to fix the error Thanks for letting me know.
@airglow23,
Thank you.
Could you also add this lines?:
- key: readability-identifier-naming.ConstexprVariableCase
value: CamelCase
- key: readability-identifier-naming.ConstexprVariablePrefix
value: k
Currently constexpr variables are lower_case for some reason on tidy-11.
And also there is one more false positive in macros:
error: invalid case style for macro definition 'DRM_DRMFBIMPORTER_H_' [readability-identifier-naming,-warnings-as-errors]
#define DRM_DRMFBIMPORTER_H_
^~~~~~~~~~~~~~~~~~~~
DRM_DRMFBIMPORTER_H
Do you have any ideas how to fix it?
UPDATE
I forgot to mention that IgnoredRegexp is only supported in clang-tidy 12 onwards.
Thanks. I included ConstexprVariableCase and Prefix as well to the file.
I think the error is due to the trailing underline. You can make use of MacroDefinitionIgnoredRegexp to allow trailing underline.
For example,
- key: readability-identifier-naming.MacroDefinitionIgnoredRegexp
value: '^[A-Z]+(_[A-Z]+)*_$'Note that IgnoredRegexp uses POSIX Extended Regular Expressions (POSIX ERE) for its regex engine.
Thank you, it worked for me out-of-the-box after upgrading to v12.
I think it worth adding into your CheckOptions list
@rsglobal Updated. Thanks
Hello,
To fix this:
Data members of structs, both static and non-static, are named like ordinary nonmember variables. They do not have the trailing underscores that data members in classes have.
the following diff has to be applied:
- - key: readability-identifier-naming.MemberSuffix
+ - key: readability-identifier-naming.PrivateMemberSuffix
value: _
+ - key: readability-identifier-naming.PublicMemberSuffix
+ value: ''@rsglobal Thank you for pointing that out
How to use it in CMake Project.
@ehds I made a tutorial: https://itnext.io/save-your-sanity-and-time-beyond-clang-format-2b929b9120b8
Thanks, it's work for me.
@airglow923 Do you have any specific license on this repo?
@IshitaTakeshi No, I don't. You can use or modify it as you want.
I think you also need
- key: readability-identifier-naming.ProtectedMemberCase
value: lower_case
- key: readability-identifier-naming.ProtectedMemberSuffix
value: _
@maliberty Thanks, I added ProtectedMemberSuffix. I also replaced MemberCase with equivalent public, protected, and private configurations.
@airglow923,
But it looks like
.StaticVariableCaseis designed not for consts:With this rule I have the following failure: