diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..8b8dcd4 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,88 @@ +--- +# Clang-Tidy configuration for libaaruformat +# Enable useful checks while disabling overly strict/problematic ones + +Checks: > + bugprone-*, + cert-*, + clang-analyzer-*, + concurrency-*, + cppcoreguidelines-*, + misc-*, + performance-*, + portability-*, + readability-*, + -bugprone-easily-swappable-parameters, + -bugprone-narrowing-conversions, + -cert-err33-c, + -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling, + -cppcoreguidelines-avoid-magic-numbers, + -cppcoreguidelines-init-variables, + -cppcoreguidelines-narrowing-conversions, + -cppcoreguidelines-pro-bounds-array-to-pointer-decay, + -cppcoreguidelines-pro-bounds-pointer-arithmetic, + -cppcoreguidelines-pro-type-cstyle-cast, + -cppcoreguidelines-pro-type-reinterpret-cast, + -cppcoreguidelines-pro-type-vararg, + -misc-include-cleaner, + -misc-unused-parameters, + -performance-no-int-to-ptr, + -portability-restrict-system-includes, + -readability-function-cognitive-complexity, + -readability-identifier-length, + -readability-isolate-declaration, + -readability-magic-numbers + +CheckOptions: + - key: bugprone-reserved-identifier.AllowedIdentifiers + value: '__.*' + - key: cert-dcl37-c.AggressiveDependentMemberLookup + value: 'false' + - key: cppcoreguidelines-avoid-magic-numbers.IgnoredIntegerValues + value: '0;1;2;3;4;8;16;32;64;128;256;512;1024;2048;4096' + - key: cppcoreguidelines-avoid-magic-numbers.IgnoredFloatingPointValues + value: '0.0;1.0;2.0' + - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic + value: 'true' + - key: performance-move-const-arg.CheckTriviallyCopyableMove + value: 'false' + - key: readability-braces-around-statements.ShortStatementLines + value: '2' + - key: readability-function-size.LineThreshold + value: '200' + - key: readability-function-size.StatementThreshold + value: '150' + - key: readability-function-size.BranchThreshold + value: '25' + - key: readability-function-size.ParameterThreshold + value: '8' + - key: readability-function-size.NestingThreshold + value: '6' + - key: readability-identifier-naming.FunctionCase + value: 'lower_case' + - key: readability-identifier-naming.VariableCase + value: 'lower_case' + - key: readability-identifier-naming.ParameterCase + value: 'lower_case' + - key: readability-identifier-naming.LocalVariableCase + value: 'lower_case' + - key: readability-identifier-naming.StructCase + value: 'lower_case' + - key: readability-identifier-naming.UnionCase + value: 'lower_case' + - key: readability-identifier-naming.EnumCase + value: 'CamelCase' + - key: readability-identifier-naming.EnumConstantCase + value: 'CamelCase' + - key: readability-identifier-naming.MacroDefinitionCase + value: 'UPPER_CASE' + - key: readability-identifier-naming.GlobalConstantCase + value: 'UPPER_CASE' + - key: readability-simplify-boolean-expr.ChainedConditionalReturn + value: 'true' + - key: readability-simplify-boolean-expr.ChainedConditionalAssignment + value: 'true' + +WarningsAsErrors: '' +HeaderFilterRegex: '(src|include)/.*\.(h|hpp)$' +FormatStyle: file