# Specify analysis options.

# This file is the .analysis_options file used by Flutter editors, such as
# Atom. It is very similar to flutter_tools/flutter_analysis_options; 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:
    # we allow overriding fields (if they use super, ideally...)
    strong_mode_invalid_field_override: ignore
    # we allow type narrowing
    strong_mode_invalid_method_override: ignore
    strong_mode_static_type_error: ignore
    strong_mode_down_cast_composite: ignore
    # we allow having TODOs in the code
    todo: ignore
  exclude:
    - 'bin/**'

linter:
  rules:
    # these are in the same order as http://dart-lang.github.io/linter/lints/
    # to make maintenance easier

    # error rules
    - avoid_empty_else
    # - comment_references
    - control_flow_in_finally
    - hash_and_equals
    # - iterable_contains_unrelated_type
    - test_types_in_equals
    - throw_in_finally
    - unrelated_type_equality_checks

    # 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
    - control_flow_in_finally
    - empty_constructor_bodies
    - implementation_imports
    - library_names
    - library_prefixes
    - non_constant_identifier_names
    - one_member_abstracts
    # - overriden_field
    - 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
    - unnecessary_brace_in_string_interp
    - unnecessary_getters_setters

    # pub rules
    - package_names
