# More options for this file can be found on https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options?view=vs-2019

root = true

# C# files
[*.cs]

#### Core EditorConfig Options ####

# Indentation and spacing
indent_size = 2
indent_style = space
tab_width = 2

# New line preferences
end_of_line = lf

#### .NET Coding Conventions ####

#### C# Formatting Rules ####

# New line preferences
csharp_new_line_before_open_brace = none
csharp_new_line_before_catch = false
csharp_new_line_before_else = false

# Curly braces preferences
csharp_prefer_braces = true:error
dotnet_diagnostic.IDE0011.severity = error

# Parentheses around logical operators
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:error

#### Naming rules

##### Private mutable fields
dotnet_naming_rule.private_members.symbols  = private_fields
dotnet_naming_rule.private_members.style    = private
dotnet_naming_rule.private_members.severity = suggestion

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

dotnet_naming_style.private.capitalization  = camel_case
dotnet_naming_style.private.required_prefix = 


##### Constants
dotnet_naming_rule.constant_members.symbols  = constant_fields
dotnet_naming_rule.constant_members.style    = constant
dotnet_naming_rule.constant_members.severity = suggestion

dotnet_naming_symbols.constant_fields.applicable_kinds   = field
dotnet_naming_symbols.constant_fields.required_modifiers = const

dotnet_naming_style.constant.capitalization  = pascal_case
dotnet_naming_style.constant.required_prefix = 

##### static readonly fields
dotnet_naming_rule.static_readonly_members.symbols  = static_readonly_fields
dotnet_naming_rule.static_readonly_members.style    = static_readonly
dotnet_naming_rule.static_readonly_members.severity = suggestion

dotnet_naming_symbols.static_readonly_fields.applicable_kinds   = field
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static,readonly

dotnet_naming_style.static_readonly.capitalization  = pascal_case
dotnet_naming_style.static_readonly.required_prefix = 
