register method

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

Registers enabled rules and their quick-fix generators with the server.

Only rules in SaropaLintRule.enabledRules are instantiated and registered. When no config is found (enabledRules is null), no rules fire — the safe default. Uses getRulesFromRegistry to only instantiate the enabled subset instead of all 2050+ rules.

Implementation

@override
void register(PluginRegistry registry) {
  try {
    final enabled = SaropaLintRule.enabledRules;
    if (enabled == null || enabled.isEmpty) return;

    final rules = getRulesFromRegistry(enabled);
    if (rules.isEmpty) return;

    final disabled = SaropaLintRule.disabledRules;
    for (final rule in rules) {
      final code = rule.code;
      if (code.lowerCaseName.isEmpty) continue;

      if (disabled != null && disabled.contains(code.lowerCaseName)) {
        continue;
      }

      registry.registerLintRule(rule);

      for (final generator in rule.fixGenerators) {
        registry.registerFixForRule(code, generator);
      }
    }
  } catch (e, st) {
    developer.log(
      'register(PluginRegistry) failed',
      name: 'saropa_lints',
      error: e,
      stackTrace: st,
    );
    // Defensive: avoid bringing down the analysis server
  }
}