diff options
Diffstat (limited to '')
-rw-r--r-- | .perlcriticrc | 458 |
1 files changed, 458 insertions, 0 deletions
diff --git a/.perlcriticrc b/.perlcriticrc new file mode 100644 index 0000000..2c21c69 --- /dev/null +++ b/.perlcriticrc @@ -0,0 +1,458 @@ +# -*- conf -*- +# the list of checks could perhaps be moved to t/scripts/critic.pl. + +verbose = 1 + +# severity is ignored for our main purposes, see below +severity = 1 + +criticism-fatal = 1 +color = 1 +allow-unsafe = 1 + +# to try some other stuff, uncomment the following +# theme = security || bugs || complexity || maintenance + +# use a whitelist; the disabling config blocks below are for documentation only +only = 1 + +# use separate blocks below instead of long Lines in include +include = + +[BuiltinFunctions::ProhibitBooleanGrep] + +[BuiltinFunctions::ProhibitComplexMappings] + +[BuiltinFunctions::ProhibitLvalueSubstr] + +[BuiltinFunctions::ProhibitReverseSortBlock] + +[BuiltinFunctions::ProhibitShiftRef] + +[BuiltinFunctions::ProhibitSleepViaSelect] + +[BuiltinFunctions::ProhibitStringyEval] +allow_includes = 1 + +[BuiltinFunctions::ProhibitStringySplit] + +[BuiltinFunctions::ProhibitUniversalCan] + +[BuiltinFunctions::ProhibitUniversalIsa] + +[BuiltinFunctions::ProhibitUselessTopic] + +[BuiltinFunctions::ProhibitVoidGrep] + +[BuiltinFunctions::ProhibitVoidMap] + +[BuiltinFunctions::RequireBlockGrep] + +[BuiltinFunctions::RequireBlockMap] + +[BuiltinFunctions::RequireGlobFunction] + +[BuiltinFunctions::RequireSimpleSortBlock] + +[ClassHierarchies::ProhibitAutoloading] + +[ClassHierarchies::ProhibitExplicitISA] + +[ClassHierarchies::ProhibitOneArgBless] + +[-CodeLayout::ProhibitFatCommaNewline] + +[-CodeLayout::ProhibitIfIfSameLine] + +[CodeLayout::ProhibitHardTabs] + +[-CodeLayout::ProhibitParensWithBuiltins] + +[CodeLayout::ProhibitQuotedWordLists] + +[CodeLayout::ProhibitTrailingWhitespace] + +[-CodeLayout::RequireConsistentNewlines] + +[-CodeLayout::RequireFinalSemicolon] + +[CodeLayout::RequireTidyCode] + +[-CodeLayout::RequireTrailingCommaAtNewline] + +[-CodeLayout::RequireTrailingCommas] + +[ControlStructures::ProhibitCStyleForLoops] + +[-ControlStructures::ProhibitCascadingIfElse] + +[-ControlStructures::ProhibitDeepNests] + +[ControlStructures::ProhibitLabelsWithSpecialBlockNames] + +[ControlStructures::ProhibitMutatingListFunctions] + +[ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions] + +[-ControlStructures::ProhibitPostfixControls] + +[-ControlStructures::ProhibitUnlessBlocks] + +[ControlStructures::ProhibitUnreachableCode] + +[ControlStructures::ProhibitUntilBlocks] + +[ControlStructures::ProhibitYadaOperator] + +[-Compatibility::ConstantPragmaHash] + +[-Compatibility::ConstantLeadingUnderscore] + +[-Compatibility::Gtk2Constants] + +[-Compatibility::PerlMinimumVersionAndWhy] + +[-Compatibility::PodMinimumVersion] + +[-Compatibility::ProhibitUnixDevNull] + +[-Documentation::PodSpelling] + +[-Documentation::ProhibitAdjacentLinks] + +[Documentation::ProhibitDuplicateHeadings] + +[Documentation::ProhibitDuplicateSeeAlso] + +[Documentation::ProhibitBadAproposMarkup] + +[Documentation::ProhibitLinkToSelf] + +[Documentation::ProhibitParagraphEndComma] + +[Documentation::ProhibitParagraphTwoDots] + +[Documentation::ProhibitUnbalancedParens] + +[-Documentation::ProhibitVerbatimMarkup] + +[-Documentation::RequireEndBeforeLastPod] + +[-Documentation::RequireFilenameMarkup] + +[-Documentation::RequireFinalCut] + +[-Documentation::RequireLinkedURLs] + +[Documentation::RequirePackageMatchesPodName] + +[-Documentation::RequirePodAtEnd] + +[-Documentation::RequirePodSections] + +[-ErrorHandling::RequireCarping] + +[-ErrorHandling::RequireCheckingReturnValueOfEval] + +[Community::AmpersandSubCalls] + +[Community::ArrayAssignAref] + +[Community::BarewordFilehandles] + +[Community::ConditionalDeclarations] + +[Community::ConditionalImplicitReturn] + +[Community::DeprecatedFeatures] + +[Community::DiscouragedModules] + +[Community::DollarAB] + +[Community::Each] + +[Community::EmptyReturn] + +[Community::IndirectObjectNotation] + +[Community::LexicalForeachIterator] + +[Community::LoopOnHash] + +[-Community::ModPerl] + +[Community::MultidimensionalArrayEmulation] + +[Community::OpenArgs] + +[Community::OverloadOptions] + +[Community::PackageMatchesFilename] + +[Community::POSIXImports] + +[Community::PreferredAlternatives] + +[Community::Prototypes] + +[Community::StrictWarnings] + +[Community::Threads] + +[Community::Wantarray] + +[Community::WarningsSwitch] + +[Community::WhileDiamondDefaultAssignment] + +[InputOutput::ProhibitBacktickOperators] + +[InputOutput::ProhibitBarewordFileHandles] + +[-InputOutput::ProhibitExplicitStdin] + +[InputOutput::ProhibitInteractiveTest] + +[InputOutput::ProhibitJoinedReadline] + +[-InputOutput::ProhibitOneArgSelect] + +[InputOutput::ProhibitReadlineInForLoop] + +[-InputOutput::ProhibitTwoArgOpen] +# not needed with Community::OpenArgs + +[InputOutput::RequireBracedFileHandleWithPrint] + +[-InputOutput::RequireBriefOpen] + +[-InputOutput::RequireCheckedClose] + +[-InputOutput::RequireCheckedOpen] + +[InputOutput::RequireCheckedSyscalls] +functions = open opendir chdir read readdir readline closedir sysopen sysread sysclose mkdir link pipe readlink unlink rename symlink fork +# possible TODO: close + +[-InputOutput::RequireEncodingWithUTF8Layer] + +[Miscellanea::ProhibitFormats] + +[-Miscellanea::ProhibitTies] + +[Miscellanea::ProhibitUnrestrictedNoCritic] + +[Miscellanea::ProhibitUselessNoCritic] + +[-Miscellanea::TextDomainPlaceholders] + +[-Miscellanea::TextDomainUnused] + +[Modules::ProhibitAutomaticExportation] + +[Modules::ProhibitConditionalUseStatements] + +[Modules::ProhibitEvilModules] + +[-Modules::ProhibitExcessMainComplexity] +# Maybe some day... + +[Modules::ProhibitModuleShebang] + +[Modules::ProhibitMultiplePackages] + +[-Modules::ProhibitPOSIXimport] +# not needed with Community::POSIXImports + +[Modules::ProhibitUseQuotedVersion] + +[Modules::RequireBarewordIncludes] + +[Modules::RequireEndWithOne] + +[Modules::RequireExplicitPackage] + +[-Modules::RequireFilenameMatchesPackage] +# not needed with Community::PackageMatchesFilename + +[Modules::RequireNoMatchVarsWithUseEnglish] + +[-Modules::RequireVersionVar] +# We don't use package versions atm and even if we did, it probably +# won't have full coverage anyway. + +[NamingConventions::Capitalization] + +[NamingConventions::ProhibitAmbiguousNames] + +[Objects::ProhibitIndirectSyntax] + +[References::ProhibitDoubleSigils] + +[-RegularExpressions::ProhibitCaptureWithoutTest] + +[-RegularExpressions::ProhibitComplexRegexes] + +[-RegularExpressions::ProhibitEnumeratedClasses] + +[-RegularExpressions::ProhibitEscapedMetacharacters] + +[RegularExpressions::ProhibitFixedStringMatches] + +[RegularExpressions::ProhibitSingleCharAlternation] + +[RegularExpressions::ProhibitUnusedCapture] + +[RegularExpressions::ProhibitUnusualDelimiters] +allow_all_brackets = 1 + +[RegularExpressions::ProhibitUselessTopic] + +[RegularExpressions::RequireBracesForMultiline] +allow_all_brackets = 1 + +[-RegularExpressions::RequireDotMatchAnything] + +[-RegularExpressions::RequireExtendedFormatting] + +[-RegularExpressions::RequireLineBoundaryMatching] + +[-Subroutines::ProhibitAmpersandSigils] +# not needed with Community::AmpersandSubCalls + +[Subroutines::ProhibitBuiltinHomonyms] + +[-Subroutines::ProhibitExcessComplexity] + +[-Subroutines::ProhibitExplicitReturnUndef] + +[-Subroutines::ProhibitManyArgs] + +[Subroutines::ProhibitNestedSubs] + +[Subroutines::ProhibitReturnSort] + +[-Subroutines::ProhibitSubroutinePrototypes] +# not needed with Community::Prototypes + +[Subroutines::ProhibitUnusedPrivateSubroutines] + +[Subroutines::ProtectPrivateSubs] + +[Subroutines::RequireArgUnpacking] + +[Subroutines::RequireFinalReturn] +terminal_funcs = CORE::exec fatal_error internal_error Lintian::Util::internal_error Die error + +[TestingAndDebugging::ProhibitNoStrict] + +[-TestingAndDebugging::ProhibitNoWarnings] + +[-TestingAndDebugging::ProhibitProlongedStrictureOverride] + +[-TestingAndDebugging::RequireTestLabels] + +[-TestingAndDebugging::RequireUseStrict] +# not needed with Community::StrictWarnings] + +[-TestingAndDebugging::RequireUseWarnings] +# not needed with Community::StrictWarnings] + +[ValuesAndExpressions::ConstantBeforeLt] + +[ValuesAndExpressions::NotWithCompare] + +[-ValuesAndExpressions::ProhibitArrayAssignAref] +# not needed with Community::ArrayAssignAref + +[ValuesAndExpressions::ProhibitBarewordDoubleColon] + +[ValuesAndExpressions::ProhibitCommaSeparatedStatements] + +[-ValuesAndExpressions::ProhibitComplexVersion] + +[-ValuesAndExpressions::ProhibitConstantPragma] + +[ValuesAndExpressions::ProhibitDuplicateHashKeys] + +[ValuesAndExpressions::ProhibitEmptyCommas] + +[ValuesAndExpressions::ProhibitEmptyQuotes] + +[-ValuesAndExpressions::ProhibitEscapedCharacters] + +[ValuesAndExpressions::ProhibitFiletest_f] + +[ValuesAndExpressions::ProhibitImplicitNewlines] + +[ValuesAndExpressions::ProhibitInterpolationOfLiterals] + +[ValuesAndExpressions::ProhibitLeadingZeros] + +[ValuesAndExpressions::ProhibitLongChainsOfMethodCalls] + +[ValuesAndExpressions::ProhibitMagicNumbers] + +[ValuesAndExpressions::ProhibitMismatchedOperators] + +[ValuesAndExpressions::ProhibitMixedBooleanOperators] + +[ValuesAndExpressions::ProhibitNoisyQuotes] + +[ValuesAndExpressions::ProhibitNullStatements] + +[ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters] + +[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator] + +[ValuesAndExpressions::ProhibitUnknownBackslash] + +[-ValuesAndExpressions::ProhibitVersionStrings] + +[-ValuesAndExpressions::RequireConstantVersion] + +[-ValuesAndExpressions::RequireInterpolationOfMetachars] + +[ValuesAndExpressions::RequireNumberSeparators] + +[-ValuesAndExpressions::RequireNumericVersion] + +[ValuesAndExpressions::RequireQuotedHeredocTerminator] + +[ValuesAndExpressions::RequireUpperCaseHeredocTerminator] + +[ValuesAndExpressions::UnexpandedSpecialLiteral] + +[Variables::ProhibitAugmentedAssignmentInDeclaration] + +[Variables::ProhibitConditionalDeclarations] + +[-Variables::ProhibitEvilVariables] + +[-Variables::ProhibitLocalVars] + +[Variables::ProhibitMatchVars] + +[Variables::ProhibitPackageVars] +add_packages = Devel::Size Module::CoreList Text::Wrap YAML::XS + +[Variables::ProhibitPerl4PackageNames] + +[-Variables::ProhibitPunctuationVars] +# Requires "use English" and our style is against that. + +[Variables::ProhibitReusedNames] + +[Variables::ProhibitUnusedVariables] + +[Variables::ProtectPrivateVars] + +[Variables::RequireInitializationForLocalVars] + +[Variables::RequireLexicalLoopIterators] + +[Variables::RequireLocalizedPunctuationVars] +allow = %ENV %SIG $! $? $0 + +[Variables::RequireNegativeIndices] |