root = true

# All Files
[*]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf

# Solution Files
[*.sln]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

# XML Project Files
[*.csproj]
indent_style = space
indent_size = 2

# Code Files
[*.fbs]
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf

# Code Files
[*.cs]
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 4
tab_width = 4
end_of_line = lf
csharp_prefer_braces = when_multiline:warning
dotnet_diagnostic.IDE0047.severity = none
dotnet_diagnostic.IDE0048.severity = none
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:suggest
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggest
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggest
dotnet_style_parentheses_in_other_operators = always_for_clarity:suggest

# Generated Code
[**/obj/**.cs]
generated_code = true
dotnet_diagnostic.CS8019.severity = none
dotnet_analyzer_diagnostic.severity = none

# Generated Code
[**/FlatSharp.generated.cs]
generated_code = true
dotnet_diagnostic.CS8019.severity = none
dotnet_analyzer_diagnostic.severity = none

[*.{cs,vb}]
#### Naming styles ####

# Naming rules

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.capitalization = pascal_case