register method

  1. @override
void register(
  1. PluginRegistry registry
)
override

Registers analysis rules, quick fixes, and assists.

Implementation

@override
void register(PluginRegistry registry) {
  // 1. Register Rules (Lints)
  final avoidCreate = SignalsAvoidCreateInBuildMethod();
  final avoidWatch = SignalsAvoidDeprecatedWatchExtension();
  final avoidMixin = SignalsAvoidDeprecatedSignalsMixin();
  final preferNamed = SignalsPreferNamedBuilder();
  final preferUnified = SignalsPreferUnifiedOptions();

  registry.registerLintRule(avoidCreate);
  registry.registerLintRule(avoidWatch);
  registry.registerLintRule(avoidMixin);
  registry.registerLintRule(preferNamed);
  registry.registerLintRule(preferUnified);

  // 2. Register Quick Fixes (associated with specific diagnostics)
  registry.registerFixForRule(
    avoidMixin.diagnosticCode,
    MigrateSignalsMixinToSignalStatefulWidget.new,
  );
  registry.registerFixForRule(
    avoidWatch.diagnosticCode,
    MigrateWatchToSignalBuilder.new,
  );
  registry.registerFixForRule(
    preferNamed.diagnosticCode,
    MigrateWatchToSignalBuilder.new,
  );

  // 3. Register Assists (general context-based refactoring)
  registry.registerAssist(ConvertStatelessToSignalWidget.new);
  registry.registerAssist(ConvertStatefulToSignalStatefulWidget.new);
  registry.registerAssist(MigrateSignalsMixinToSignalStatefulWidget.new);
  registry.registerAssist(MigrateWatchToSignalBuilder.new);
  registry.registerAssist(WrapWithSignalBuilder.new);
}