# copy from https://github.com/dart-lang/http/blob/master/analysis_options.yaml

include: package:pedantic/analysis_options.yaml

analyzer:
  # enable-experiment:
    # - non-nullable

  strong-mode:
    implicit-casts: false
    implicit-dynamic: false

linter:
  rules:
  - annotate_overrides
  - avoid_bool_literals_in_conditional_expressions
  - avoid_classes_with_only_static_members
  - avoid_empty_else
  - avoid_function_literals_in_foreach_calls
  - avoid_init_to_null
  - avoid_null_checks_in_equality_operators
  - avoid_relative_lib_imports
  - avoid_renaming_method_parameters
  - avoid_return_types_on_setters
  - avoid_returning_null_for_void
  - avoid_returning_this
  - avoid_shadowing_type_parameters
  - avoid_single_cascade_in_expression_statements
  - avoid_types_as_parameter_names
  - avoid_unused_constructor_parameters
  - await_only_futures
  - camel_case_types
  - cascade_invocations
  # comment_references
  - control_flow_in_finally
  - curly_braces_in_flow_control_structures
  - directives_ordering
  - empty_catches
  - empty_constructor_bodies
  - empty_statements
  - file_names
  - hash_and_equals
  - invariant_booleans
  - iterable_contains_unrelated_type
  - library_names
  - library_prefixes
  - list_remove_unrelated_type
  - no_adjacent_strings_in_list
  - no_duplicate_case_values
  - non_constant_identifier_names
  - null_closures
  - omit_local_variable_types
  - only_throw_errors
  - overridden_fields
  - package_names
  - package_prefixed_library_names
  - prefer_adjacent_string_concatenation
  - prefer_conditional_assignment
  - prefer_contains
  - prefer_equal_for_default_values
  - prefer_final_fields
  - prefer_collection_literals
  - prefer_generic_function_type_aliases
  - prefer_initializing_formals
  - prefer_is_empty
  - prefer_is_not_empty
  - prefer_null_aware_operators
  - prefer_single_quotes
  - prefer_typing_uninitialized_variables
  - recursive_getters
  - slash_for_doc_comments
  - test_types_in_equals
  - throw_in_finally
  - type_init_formals
  - unawaited_futures
  - unnecessary_brace_in_string_interps
  - unnecessary_const
  - unnecessary_getters_setters
  - unnecessary_lambdas
  - unnecessary_new
  - unnecessary_null_aware_assignments
  - unnecessary_null_in_if_null_operators
  - unnecessary_overrides
  - unnecessary_parenthesis
  - unnecessary_statements
  - unnecessary_this
  - unrelated_type_equality_checks
  - use_rethrow_when_possible
  - valid_regexps
  - void_checks