register method
Registers analysis rules, quick fixes, and assists.
Implementation
@override
void register(PluginRegistry registry) {
final analysisLoader = AnalysisOptionsLoader();
final lintRules = [
AvoidDebugPrintInReleaseRule(),
AvoidDuplicateCodeRule(analysisOptionsLoader: analysisLoader),
AvoidFinalWithGetterRule(),
AvoidGlobalStateRule(),
AvoidLateKeywordRule(analysisOptionsLoader: analysisLoader),
AvoidNonNullAssertionRule(analysisOptionsLoader: analysisLoader),
AvoidReturningWidgetsRule(analysisOptionsLoader: analysisLoader),
AvoidSimilarNamesRule(),
AvoidUnnecessaryReturnVariableRule(),
AvoidUnnecessarySetStateRule(),
AvoidUnnecessaryTypeAssertionsRule(),
AvoidUnrelatedTypeAssertionsRule(),
AvoidUnusedParametersRule(analysisOptionsLoader: analysisLoader),
AvoidUsingApiRule(analysisOptionsLoader: analysisLoader),
CyclomaticComplexityRule(analysisOptionsLoader: analysisLoader),
DoubleLiteralFormatRule(),
FeatureEnvyRule(analysisOptionsLoader: analysisLoader),
FunctionLinesOfCodeRule(analysisOptionsLoader: analysisLoader),
MemberOrderingRule(analysisOptionsLoader: analysisLoader),
NamedParametersOrderingRule(analysisOptionsLoader: analysisLoader),
NewlineBeforeReturnRule(),
NoEmptyBlockRule(analysisOptionsLoader: analysisLoader),
NoEqualThenElseRule(),
NoMagicNumberRule(analysisOptionsLoader: analysisLoader),
NumberOfParametersRule(analysisOptionsLoader: analysisLoader),
PreferConditionalExpressionsRule(analysisOptionsLoader: analysisLoader),
PreferEarlyReturnRule(),
PreferFirstRule(),
PreferLastRule(),
PreferMatchFileNameRule(analysisOptionsLoader: analysisLoader),
ProperSuperCallsRule(),
UseDescriptiveNamesForTypeParametersRule(
analysisOptionsLoader: analysisLoader,
),
UseNearestContextRule(),
];
for (final lintRule in lintRules) {
final ruleToRegister = switch (lintRule) {
MultiAnalysisRule() => ProxyMultiAnalysisRule(lintRule, analysisLoader),
AnalysisRule() => ProxyAnalysisRule(lintRule, analysisLoader),
};
registry.registerWarningRule(ruleToRegister);
if (lintRule is RuleWithFixes) {
for (final entry in (lintRule as RuleWithFixes).fixesForCodes) {
registry.registerFixForRule(entry.key, entry.value);
}
}
}
}