root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{cs,csproj,props,targets,sln}]
indent_style = space
indent_size = 4
max_line_length = 100

[*.cs]
dotnet_sort_system_directives_first = true
dotnet_separate_import_directive_groups = false

dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion

csharp_style_var_for_built_in_types = false:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = false:suggestion

csharp_new_line_before_open_brace = all
csharp_prefer_braces = true:suggestion
csharp_preserve_single_line_statements = false
csharp_preserve_single_line_blocks = false

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private

dotnet_naming_style.underscore_camel_case.required_prefix = _
dotnet_naming_style.underscore_camel_case.capitalization = camel_case

dotnet_naming_rule.private_fields_should_be_underscore_camel_case.symbols = private_fields
dotnet_naming_rule.private_fields_should_be_underscore_camel_case.style = underscore_camel_case
dotnet_naming_rule.private_fields_should_be_underscore_camel_case.severity = suggestion

dotnet_diagnostic.IDE0005.severity = warning
