lint_kit 0.0.2
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 => [];
}