[*]
charset=utf-8
# We don't specify so people can use their native
# end_of_line = crlf
trim_trailing_whitespace=true
insert_final_newline=true
indent_style=space
indent_size=4
tab_width=4
max_line_length=125

# Microsoft .NET properties
csharp_new_line_before_members_in_object_initializers=false
csharp_preferred_modifier_order=public, private, protected, internal, new, abstract, virtual, sealed, override, static, readonly, extern, unsafe, volatile, async:suggestion
csharp_prefer_braces=true:suggestion
csharp_space_after_cast=false
dotnet_diagnostic.bc42024.severity=suggestion
dotnet_diagnostic.cs0078.severity=none
dotnet_diagnostic.cs0108.severity=none
dotnet_diagnostic.cs0109.severity=none
dotnet_diagnostic.cs0114.severity=none
dotnet_diagnostic.cs0162.severity=none
dotnet_diagnostic.cs0168.severity=suggestion
dotnet_diagnostic.cs0183.severity=none
dotnet_diagnostic.cs0184.severity=none
dotnet_diagnostic.cs0197.severity=none
dotnet_diagnostic.cs0252.severity=none
dotnet_diagnostic.cs0253.severity=none
dotnet_diagnostic.cs0420.severity=none
dotnet_diagnostic.cs0465.severity=none
dotnet_diagnostic.cs0469.severity=none
dotnet_diagnostic.cs0612.severity=none
dotnet_diagnostic.cs0618.severity=none
dotnet_diagnostic.cs0628.severity=none
dotnet_diagnostic.cs0642.severity=none
dotnet_diagnostic.cs0657.severity=none
dotnet_diagnostic.cs0658.severity=none
dotnet_diagnostic.cs0659.severity=none
dotnet_diagnostic.cs0660.severity=none
dotnet_diagnostic.cs0661.severity=none
dotnet_diagnostic.cs0665.severity=none
dotnet_diagnostic.cs0672.severity=none
dotnet_diagnostic.cs0693.severity=none
dotnet_diagnostic.cs1030.severity=none
dotnet_diagnostic.cs1058.severity=none
dotnet_diagnostic.cs1066.severity=none
dotnet_diagnostic.cs1522.severity=none
dotnet_diagnostic.cs1570.severity=none
dotnet_diagnostic.cs1571.severity=none
dotnet_diagnostic.cs1572.severity=none
dotnet_diagnostic.cs1573.severity=none
dotnet_diagnostic.cs1574.severity=none
dotnet_diagnostic.cs1580.severity=none
dotnet_diagnostic.cs1581.severity=none
dotnet_diagnostic.cs1584.severity=none
dotnet_diagnostic.cs1587.severity=none
dotnet_diagnostic.cs1589.severity=none
dotnet_diagnostic.cs1590.severity=none
dotnet_diagnostic.cs1591.severity=none
dotnet_diagnostic.cs1592.severity=none
dotnet_diagnostic.cs1710.severity=none
dotnet_diagnostic.cs1711.severity=none
dotnet_diagnostic.cs1712.severity=none
dotnet_diagnostic.cs1717.severity=none
dotnet_diagnostic.cs1723.severity=none
dotnet_diagnostic.cs1957.severity=none
dotnet_diagnostic.cs1981.severity=none
dotnet_diagnostic.cs1998.severity=none
dotnet_diagnostic.cs4014.severity=none
dotnet_diagnostic.cs7095.severity=none
dotnet_diagnostic.cs8094.severity=none
dotnet_diagnostic.cs8123.severity=none
dotnet_diagnostic.cs8383.severity=none
dotnet_diagnostic.cs8424.severity=none
dotnet_diagnostic.cs8425.severity=none
dotnet_diagnostic.cs8509.severity=none
dotnet_diagnostic.cs8597.severity=none
dotnet_diagnostic.cs8600.severity=none
dotnet_diagnostic.cs8601.severity=none
dotnet_diagnostic.cs8602.severity=none
dotnet_diagnostic.cs8603.severity=none
dotnet_diagnostic.cs8604.severity=none
dotnet_diagnostic.cs8605.severity=none
dotnet_diagnostic.cs8607.severity=none
dotnet_diagnostic.cs8608.severity=none
dotnet_diagnostic.cs8609.severity=none
dotnet_diagnostic.cs8610.severity=none
dotnet_diagnostic.cs8611.severity=none
dotnet_diagnostic.cs8612.severity=none
dotnet_diagnostic.cs8613.severity=none
dotnet_diagnostic.cs8614.severity=none
dotnet_diagnostic.cs8615.severity=none
dotnet_diagnostic.cs8616.severity=none
dotnet_diagnostic.cs8617.severity=none
dotnet_diagnostic.cs8618.severity=none
dotnet_diagnostic.cs8619.severity=none
dotnet_diagnostic.cs8620.severity=none
dotnet_diagnostic.cs8621.severity=none
dotnet_diagnostic.cs8622.severity=none
dotnet_diagnostic.cs8624.severity=none
dotnet_diagnostic.cs8625.severity=none
dotnet_diagnostic.cs8629.severity=none
dotnet_diagnostic.cs8631.severity=none
dotnet_diagnostic.cs8632.severity=none
dotnet_diagnostic.cs8633.severity=none
dotnet_diagnostic.cs8634.severity=none
dotnet_diagnostic.cs8643.severity=none
dotnet_diagnostic.cs8644.severity=none
dotnet_diagnostic.cs8645.severity=none
dotnet_diagnostic.cs8655.severity=none
dotnet_diagnostic.cs8656.severity=none
dotnet_diagnostic.cs8667.severity=none
dotnet_diagnostic.cs8670.severity=none
dotnet_diagnostic.cs8714.severity=none
dotnet_diagnostic.cs8762.severity=none
dotnet_diagnostic.cs8763.severity=none
dotnet_diagnostic.cs8764.severity=none
dotnet_diagnostic.cs8765.severity=none
dotnet_diagnostic.cs8766.severity=none
dotnet_diagnostic.cs8767.severity=none
dotnet_diagnostic.cs8768.severity=none
dotnet_diagnostic.cs8769.severity=none
dotnet_diagnostic.cs8770.severity=none
dotnet_diagnostic.cs8774.severity=none
dotnet_diagnostic.cs8775.severity=none
dotnet_diagnostic.cs8776.severity=none
dotnet_diagnostic.cs8777.severity=none
dotnet_style_parentheses_in_arithmetic_binary_operators=never_if_unnecessary:none
dotnet_style_parentheses_in_other_binary_operators=never_if_unnecessary:none
dotnet_style_parentheses_in_relational_binary_operators=never_if_unnecessary:none
dotnet_style_predefined_type_for_locals_parameters_members=true:suggestion
dotnet_style_predefined_type_for_member_access=true:warning
dotnet_style_qualification_for_event=false:suggestion
dotnet_style_qualification_for_field=false:suggestion
dotnet_style_qualification_for_method=false:suggestion
dotnet_style_qualification_for_property=false:suggestion
dotnet_style_require_accessibility_modifiers=for_non_interface_members:suggestion

# ReSharper properties
resharper_apply_auto_detected_rules=false
resharper_braces_redundant=true
resharper_case_block_braces=next_line_shifted_2
resharper_constructor_or_destructor_body=expression_body
resharper_csharp_int_align_comments=true
resharper_csharp_stick_comment=false
resharper_csharp_wrap_after_declaration_lpar=true
resharper_csharp_wrap_after_invocation_lpar=true
resharper_csharp_wrap_arguments_style=chop_if_long
resharper_csharp_wrap_before_declaration_rpar=true
resharper_csharp_wrap_before_invocation_rpar=true
# resharper_int_align_assignments=true
# resharper_int_align_variables=true
resharper_int_align_switch_expressions=true
resharper_int_align_switch_sections=true
resharper_max_enum_members_on_line=1
resharper_wrap_before_extends_colon=true
# Nested statements
resharper_indent_nested_fixed_stmt=true
resharper_indent_nested_foreach_stmt=true
resharper_indent_nested_for_stmt=true
resharper_indent_nested_lock_stmt=true
resharper_indent_nested_usings_stmt=true
resharper_indent_nested_while_stmt=true

resharper_local_function_body=expression_body
resharper_max_array_initializer_elements_on_line=10
resharper_method_or_operator_body=expression_body
resharper_nested_ternary_style=compact
resharper_space_after_cast=false
resharper_space_within_single_line_array_initializer_braces=true
resharper_use_indent_from_vs=false
resharper_wrap_chained_method_calls=chop_if_long
resharper_wrap_lines=true

# ReSharper inspection severities https://www.jetbrains.com/help/resharper/EditorConfig_Index.html
resharper_arrange_constructor_or_destructor_body_highlighting=suggestion
resharper_arrange_local_function_body_highlighting=suggestion
resharper_arrange_method_or_operator_body_highlighting=suggestion
resharper_arrange_redundant_parentheses_highlighting=suggestion
resharper_arrange_this_qualifier_highlighting=hint
resharper_arrange_type_member_modifiers_highlighting=hint
resharper_arrange_type_modifiers_highlighting=hint
resharper_bad_control_braces_indent_highlighting=warning
resharper_bad_declaration_braces_indent_highlighting=warning
resharper_bad_expression_braces_indent_highlighting=warning
resharper_bad_namespace_braces_indent_highlighting=warning
resharper_bad_preprocessor_indent_highlighting=warning
resharper_built_in_type_reference_style_highlighting=hint
resharper_check_namespace_highlighting=hint
resharper_compare_of_floats_by_equality_operator_highlighting=suggestion
resharper_convert_conditional_ternary_expression_to_switch_expression_highlighting=warning
resharper_convert_if_statement_to_switch_statement_highlighting=none
resharper_convert_switch_statement_to_switch_expression_highlighting=warning
resharper_foreach_can_be_partly_converted_to_query_using_another_get_enumerator_highlighting=none
resharper_for_can_be_converted_to_foreach_highlighting=none
resharper_inconsistent_naming_highlighting=none
resharper_invert_if_highlighting=none
resharper_member_can_be_private_global_highlighting=none
resharper_member_can_be_private_local_highlighting=none
resharper_member_can_be_protected_global_highlighting=none
resharper_member_can_be_protected_local_highlighting=none
resharper_merge_conditional_expression_highlighting=warning
resharper_merge_conditional_expression_when_possible_highlighting=warning
resharper_merge_sequential_checks_highlighting=warning
resharper_merge_sequential_checks_when_possible_highlighting=warning
resharper_missing_indent_highlighting=warning
resharper_outdent_is_off_prev_level_highlighting=warning
resharper_possible_null_reference_exception_highlighting=error
resharper_redundant_base_qualifier_highlighting=warning
resharper_redundant_empty_object_creation_argument_list_highlighting=warning
resharper_redundant_type_specification_in_default_expression_highlighting=warning
resharper_remove_redundant_braces_highlighting=warning
resharper_remove_redundant_or_statement_false_highlighting=warning
resharper_remove_redundant_or_statement_true_highlighting=warning
resharper_specify_a_culture_in_string_conversion_explicitly_highlighting=hint
resharper_string_compare_is_culture_specific_1_highlighting=hint
resharper_string_compare_is_culture_specific_2_highlighting=hint
resharper_string_compare_is_culture_specific_3_highlighting=hint
resharper_string_compare_is_culture_specific_4_highlighting=hint
resharper_string_compare_is_culture_specific_5_highlighting=hint
resharper_string_compare_is_culture_specific_6_highlighting=hint
resharper_string_compare_to_is_culture_specific_highlighting=hint
resharper_string_index_of_is_culture_specific_1_highlighting=hint
resharper_string_index_of_is_culture_specific_2_highlighting=hint
resharper_string_index_of_is_culture_specific_3_highlighting=hint
resharper_string_last_index_of_is_culture_specific_1_highlighting=hint
resharper_string_last_index_of_is_culture_specific_2_highlighting=hint
resharper_string_last_index_of_is_culture_specific_3_highlighting=hint
resharper_suggest_discard_declaration_var_style_highlighting=none
resharper_suggest_var_or_type_built_in_types_highlighting=none
resharper_suggest_var_or_type_elsewhere_highlighting=none
resharper_suggest_var_or_type_simple_types_highlighting=none
resharper_tabs_and_spaces_mismatch_highlighting=warning
resharper_unused_auto_property_accessor_global_highlighting=none
resharper_unused_auto_property_accessor_local_highlighting=none
resharper_unused_variable_highlighting=suggestion
resharper_virtual_member_call_in_constructor_highlighting=hint
resharper_web_config_module_not_resolved_highlighting=warning
resharper_web_config_type_not_resolved_highlighting=warning
resharper_web_config_wrong_module_highlighting=warning
resharper_wrong_indent_size_highlighting=warning

# ReSharper inspection severities
resharper_enforce_do_while_statement_braces_highlighting=hint
resharper_enforce_fixed_statement_braces_highlighting=hint
resharper_enforce_foreach_statement_braces_highlighting=hint
resharper_enforce_for_statement_braces_highlighting=hint
resharper_enforce_if_statement_braces_highlighting=hint
resharper_enforce_lock_statement_braces_highlighting=hint
resharper_enforce_using_statement_braces_highlighting=hint
resharper_enforce_while_statement_braces_highlighting=hint

[*.{sln,csproj,bat}]
end_of_line=crlf

[*.{yml,json,md,sh,css,html}]
end_of_line=lf
indent_size=2
tab_width=2
