The goal of this change is to fix the following suboptimal replacements currently suggested by clang-tidy:
// with MemberPrefix == "_" int __foo; // accepted without complaint
// with MemberPrefix == "m_" int _foo; ^~~~~~ m__foo
I fixed this by
- updating matchesStyle() to reject names which have a leading underscore after a prefix has already been stripped, or a trailing underscore if a suffix has already been stripped;
- updating fixupWithStyle() to strip leading & trailing underscores before adding the user-defined prefix and suffix.
The replacements are now:
// MemberPrefix == "_" int __foo; ^~~~~~ _foo
// MemberPrefix == "m_" int _foo; ^~~~~ m_foo
Future improvements might elect to add .clang-tidy flags to improve what is being stripped. For instance, stripping m_ could allow m_foo to be automatically replaced with _foo.