root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 100
tab_width = 4

[{*.json,*.yml}]
indent_size = 2
tab_width = 2

[{*.kt,*.kts}]
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
#  Disable wildcard imports entirely
ij_kotlin_name_count_to_use_star_import = 2147483647
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
ij_kotlin_packages_to_use_import_on_demand = unset

ij_kotlin_method_call_chain_wrap = off
ij_kotlin_call_parameters_wrap = off
# Do not wrap modifier chain
ij_kotlin_use_custom_formatting_for_modifiers = false
# Do not warp annotation for field
ij_kotlin_field_annotation_wrap = off

ktlint_function_naming_ignore_when_annotated_with = Composable
ktlint_standard_chain-wrapping = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_class_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 2
ktlint_standard_annotation = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_function_signature_body_expression_wrapping = default
ktlint_function_signature_rule_force_multiline_when_parameter_count_greater_or_equal_than = 3
ktlint_standard_class-signature = disabled
compose_allowed_composition_locals = LocalNavigator, LocalSharedTransitionScope