Skip to content

[Analyzer Plugin] Unable to enable/disable diagnostics on published packages. #62235

@KlausJokisuo

Description

@KlausJokisuo

How can we enable/disable diagnostics on published packages.

These does not work for published packages:

include: package:lints/recommended.yaml

plugins:
  squiggly: 1.0.2
  diagnostics:
    equality_incomplete: true
    copywith_incomplete: true
    tostring_incomplete: true

OR

include: package:lints/recommended.yaml

plugins:
  squiggly: 1.0.2
    diagnostics:
      equality_incomplete: true
      copywith_incomplete: true
      tostring_incomplete: true

This works but it's for development:

include: package:lints/recommended.yaml

plugins:
  squiggly:
    path: ../
    diagnostics:
      equality_incomplete: true
      copywith_incomplete: true
      tostring_incomplete: true

Here is also my plugin main.dart

import 'package:analysis_server_plugin/plugin.dart';
import 'package:analysis_server_plugin/registry.dart';

import 'package:squiggly/equality/add_equality.dart';
import 'package:squiggly/equality_incomplete/equality_incomplete.dart';
import 'package:squiggly/equality_incomplete/update_equality.dart';
import 'package:squiggly/tostring/add_tostring.dart';
import 'package:squiggly/copywith/add_copywith.dart';
import 'package:squiggly/copywith_incomplete/copywith_incomplete.dart';
import 'package:squiggly/copywith_incomplete/update_copywith.dart';
import 'package:squiggly/data_class/implement_data_class_methods.dart';
import 'package:squiggly/tostring_incomplete/tostring_incomplete.dart';
import 'package:squiggly/tostring_incomplete/update_tostring.dart';

final plugin = SquigglyPlugin();

class SquigglyPlugin extends Plugin {
  @override
  void register(PluginRegistry registry) {
    // Equality - available as assist
    registry.registerAssist(AddEquality.new);

    // ToString - available as assist
    registry.registerAssist(AddToString.new);

    // CopyWith - available as assist
    registry.registerAssist(AddCopyWith.new);

    // Implement Data Class Methods - available as assist
    registry.registerAssist(ImplementDataClassMethods.new);

    // Equality Incomplete - lint + fix
    registry.registerLintRule(EqualityIncompleteRule());
    registry.registerFixForRule(
      EqualityIncompleteRule.code,
      UpdateEquality.new,
    );

    // CopyWith Incomplete - lint + fix
    registry.registerLintRule(CopyWithIncompleteRule());
    registry.registerFixForRule(
      CopyWithIncompleteRule.code,
      UpdateCopyWith.new,
    );

    // ToString Incomplete - lint + fix
    registry.registerLintRule(IncompleteClassToStringRule());
    registry.registerFixForRule(
      IncompleteClassToStringRule.code,
      UpdateToString.new,
    );
  }

  @override
  String get name => 'squiggly';
}

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-devexpFor issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions