include: package:lint/analysis_options_package.yaml

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

linter:
  rules:
    # redundancy is good if it leads to better documentation
    avoid_redundant_argument_values: false

    # print is useful for examples
    avoid_print: false

    # disable for now per https://github.com/timsneath/win32/issues/87
    avoid_private_typedef_functions: false

    # win32 parity requires SCREAMING_CAPS constants
    constant_identifier_names: false  

    # deliberately name generated files after their COM equivalents
    file_names: false

    # seems to trigger false positives
    invariant_booleans: false

    # while(true) is useful for Win32 enumerations
    literal_only_boolean_expressions: false

    # doesn't make sense if adjacent strings are not human language
    missing_whitespace_between_adjacent_strings: false

    # Win32 parity requires TitleCase method names
    non_constant_identifier_names: false

    # Some of these may be enabled already, but explicitly enabled here in case
    # lint decides to change its defaults.
    avoid_function_literals_in_foreach_calls: true
    omit_local_variable_types: true
    directives_ordering: true
    prefer_expression_function_bodies: true
    prefer_initializing_formals: true
    prefer_interpolation_to_compose_strings: true
    prefer_relative_imports: true
    prefer_typing_uninitialized_variables: true
    unnecessary_brace_in_string_interps: true
    unnecessary_lambdas: true
include: package:lint/analysis_options_package.yaml

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

linter:
  rules:
    # redundancy is good if it leads to better documentation
    avoid_redundant_argument_values: false

    # print is useful for examples
    avoid_print: false

    # disable for now per https://github.com/timsneath/win32/issues/87
    avoid_private_typedef_functions: false

    # win32 parity requires SCREAMING_CAPS constants
    constant_identifier_names: false  

    # deliberately name generated files after their COM equivalents
    file_names: false

    # seems to trigger false positives
    invariant_booleans: false

    # while(true) is useful for Win32 enumerations
    literal_only_boolean_expressions: false

    # doesn't make sense if adjacent strings are not human language
    missing_whitespace_between_adjacent_strings: false

    # Win32 parity requires TitleCase method names
    non_constant_identifier_names: false

    # Some additional lints we want to enforce
    omit_local_variable_types: true
    prefer_expression_function_bodies: true
    prefer_interpolation_to_compose_strings: true
    prefer_relative_imports: true
    unnecessary_lambdas: true
Tidy up and reorder lints
Tidy up and reorder lints
