lint_kit 0.0.2 copy "lint_kit: ^0.0.2" to clipboard
lint_kit: ^0.0.2 copied to clipboard

Define your own lint rules, provide quick fixes, and debug your analyzer in real time.

example/main.dart

import 'package:lint_kit/lint_kit.dart';

class MyAnalyzer implements LintKitAnalyzer {
  const MyAnalyzer();

  @override
  Future<List<Message>> analyze(
    AnalyzedFile file,
    AnalysisOptions? options,
  ) async {
    final lines = file.content.split('\n');

    Iterable<Message> lints() sync* {
      for (final (index, line) in lines.indexed) {
        if (!line.contains('const')) {
          continue;
        }

        final constIndex = line.indexOf('const');

        yield Lint(
          range: Range(
            start: Position(line: index, character: constIndex),
            end: Position(line: index, character: constIndex + 5),
          ),
          code: 'example_lint',
          message: 'This is a const',
          path: file.path,
        );
      }
    }

    return lints().toList();
  }

  @override
  String get packageName => 'my_lints';

  @override
  List<LintKitAnalyzer> get plugins => [];
}
0
likes
140
points
64
downloads

Publisher

verified publisherlintkit.dev

Weekly Downloads

Define your own lint rules, provide quick fixes, and debug your analyzer in real time.

View/report issues

Topics

#linter #analyzer #code-quality #code-actions

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, equatable, json_annotation, lint_kit_domain

More

Packages that depend on lint_kit