Cool linter
This is a custom linter package for dart/flutter code. It can set linter for exclude some of words. This words you can set in analysis_options.yaml by example below
Usage
1. Add dependency to pubspec.yaml
dev_dependencies:
cool_linter: ^1.2.0 # last version of plugin
2. Add configuration to analysis_options.yaml
analyzer:
plugins:
- cool_linter
cool_linter:
extended_rules:
- always_specify_stream_subscription
always_specify_types:
- typed_literal
- declared_identifier
- set_or_map_literal
- simple_formal_parameter
- type_name
- variable_declaration_list
regexp_exclude:
-
pattern: Colors
hint: Use colors from design system instead!
severity: WARNING
-
pattern: Test123{1}
severity: ERROR
exclude_folders:
- test/**
- lib/ku/**
-
always_specify_types linter:
always_specify_types This rule is like dart core linter rule, but you can choose which of this subrules want to use:
- typed_literal
- declared_identifier
- set_or_map_literal
- simple_formal_parameter
- type_name
- variable_declaration_list
Also you can choose exclude folders for this rule. See exclude_folders
-
regexp_exclude linter:
pattern
- RegExp-pattern, for example: Test123{1}, ^Test123$ and othersseverity
-optional parameter
. It is console information level. May beWARNING
,INFO
,ERROR
. Default is WARNINGhint
-optional parameter
. It is console information sentenceexclude_folders
- this folders linter will ignore. By default excluded folders are:
'.dart_tool/**',
'.vscode/**',
'packages/**',
'ios/**',
'macos/**',
'web/**',
'linux/**',
'windows/**',
'go/**',
-
extended_rules. always_specify_stream_subscription linter:
Always useStreamSubscription
for Stream.listen();
CORRECT:
final Stream<String> stream2 = Stream<String>.value('value');
final StreamSubscription<String> sub = stream2.listen((_) {}); // OK
WARNING:
final Stream<String> stream1 = Stream<String>.value('value');
stream1.listen((String ttt) {}); // LINT
Attention!!!
You must restart your IDE for starting plugin
3. Result
Example of analysis_options.yaml
analyzer:
plugins:
- cool_linter
cool_linter:
always_specify_types:
- typed_literal
- declared_identifier
- set_or_map_literal
- simple_formal_parameter
- type_name
- variable_declaration_list
regexp_exclude:
-
pattern: Colors
hint: Use colors from design system instead!
severity: WARNING
-
pattern: Test123{1}
severity: ERROR
exclude_folders:
- test/**
- lib/ku/**