|  | # Specify analysis options. | 
|  | # | 
|  | # Until there are meta linter rules, each desired lint must be explicitly enabled. | 
|  | # See: https://github.com/dart-lang/linter/issues/288 | 
|  | # | 
|  | # For a list of lints, see: http://dart-lang.github.io/linter/lints/ | 
|  | # See the configuration guide for more | 
|  | # https://github.com/dart-lang/sdk/tree/master/pkg/analyzer#configuring-the-analyzer | 
|  | # | 
|  | # This file contains the analysis options used by Flutter editors, such as Atom. | 
|  | # It is very similar to .analysis_options_flutter_analyze; | 
|  | # the only difference (currently) is the public_member_api_docs option, | 
|  | # which triggers too many messages to be used in editors. | 
|  |  | 
|  | analyzer: | 
|  | language: | 
|  | enableStrictCallChecks: true | 
|  | enableSuperMixins: true | 
|  | strong-mode: true | 
|  | errors: | 
|  | # allow overriding fields (if they use super, ideally...) | 
|  | strong_mode_invalid_field_override: ignore | 
|  | # allow type narrowing | 
|  | strong_mode_static_type_error: ignore | 
|  | strong_mode_down_cast_composite: ignore | 
|  | # allow having TODOs in the code | 
|  | todo: ignore | 
|  | exclude: | 
|  | - 'bin/cache/**' | 
|  |  | 
|  | linter: | 
|  | rules: | 
|  | # these rules are documented on and in the same order as | 
|  | # the Dart Lint rules page to make maintenance easier | 
|  | # http://dart-lang.github.io/linter/lints/ | 
|  |  | 
|  | # === error rules === | 
|  | - avoid_empty_else | 
|  | # - comment_references # blocked on https://github.com/dart-lang/dartdoc/issues/1153 | 
|  | - cancel_subscriptions | 
|  | # - close_sinks # https://github.com/flutter/flutter/issues/5789 | 
|  | - control_flow_in_finally | 
|  | - empty_statements | 
|  | - hash_and_equals | 
|  | # - invariant_booleans # https://github.com/flutter/flutter/issues/5790 | 
|  | # - iterable_contains_unrelated_type | 
|  | - list_remove_unrelated_type | 
|  | # - literal_only_boolean_expressions # https://github.com/flutter/flutter/issues/5791 | 
|  | - test_types_in_equals | 
|  | - throw_in_finally | 
|  | - unrelated_type_equality_checks | 
|  | - valid_regexps | 
|  |  | 
|  | # === style rules === | 
|  | - always_declare_return_types | 
|  | - always_specify_types | 
|  | - annotate_overrides | 
|  | - avoid_as | 
|  | - avoid_init_to_null | 
|  | - avoid_return_types_on_setters | 
|  | - await_only_futures | 
|  | - camel_case_types | 
|  | # - constant_identifier_names # https://github.com/dart-lang/linter/issues/204 | 
|  | - control_flow_in_finally | 
|  | - empty_constructor_bodies | 
|  | - implementation_imports | 
|  | - library_names | 
|  | - library_prefixes | 
|  | - non_constant_identifier_names | 
|  | - one_member_abstracts | 
|  | # - only_throw_errors # https://github.com/flutter/flutter/issues/5792 | 
|  | # - overridden_fields | 
|  | - package_api_docs | 
|  | - package_prefixed_library_names | 
|  | - prefer_is_not_empty | 
|  | # - public_member_api_docs | 
|  | - slash_for_doc_comments | 
|  | - sort_constructors_first | 
|  | - sort_unnamed_constructors_first | 
|  | - super_goes_last | 
|  | # - type_annotate_public_apis # subset of always_specify_types | 
|  | - type_init_formals | 
|  | # - unawaited_futures # https://github.com/flutter/flutter/issues/5793 | 
|  | - unnecessary_brace_in_string_interp | 
|  | - unnecessary_getters_setters | 
|  |  | 
|  | # === pub rules === | 
|  | - package_names |