summaryrefslogtreecommitdiffstats
path: root/.perlcriticrc
diff options
context:
space:
mode:
Diffstat (limited to '.perlcriticrc')
-rw-r--r--.perlcriticrc458
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]