-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update project settings and re-run formatters (#34)
Co-authored-by: Avasam <[email protected]>
- Loading branch information
1 parent
50048e4
commit 2a75857
Showing
21 changed files
with
680 additions
and
505 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,273 @@ | ||
# SPDX-License-Identifier: MIT | ||
# Copyright 2023 Beslogic Inc. | ||
|
||
# The source skeleton for this configuration can be found at | ||
# https://github.com/BesLogic/shared-configs/blob/main/.editorconfig | ||
# Modifications to this file that are not project-specific should also be done upstream. | ||
|
||
# Editor configuration, see https://editorconfig.org | ||
root = true | ||
|
||
[*] | ||
#### Widely Supported by Editors #### | ||
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#widely-supported-by-editors | ||
|
||
indent_style = space | ||
indent_size = 2 | ||
# tab_width defaults indent_size when indent_size is a number, but VS will add it back | ||
tab_width = 2 | ||
end_of_line = lf | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
|
||
#### Supported By A Limited Number of Editors #### | ||
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#supported-by-a-limited-number-of-editors | ||
|
||
max_line_length = 100 | ||
|
||
#### Ideas for Domain-Specific Properties #### | ||
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#ideas-for-domain-specific-properties | ||
|
||
quote_type = auto | ||
|
||
#### EditorGuidelines #### | ||
#### https://marketplace.visualstudio.com/items?itemName=PaulHarrington.EditorGuidelinesPreview#editorconfig-support-vs-2017-and-above | ||
guidelines = 80, 100 | ||
|
||
#### Language-specific overrides #### | ||
|
||
[*.{js,jsx,ts,tsx}] | ||
quote_type = single | ||
|
||
[*.{py,pyi}] | ||
quote_type = double | ||
indent_size = 4 | ||
|
||
[*.md] | ||
max_line_length = off | ||
trim_trailing_whitespace = false | ||
|
||
[*.csproj] | ||
indent_size = 4 | ||
|
||
#### .NET source code analysis #### | ||
#### https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories | ||
# Note that Visual Studio automatically adds back *:severity. So we left them there to avoid unwanted changes. | ||
|
||
[*] | ||
# Suppression preferences | ||
dotnet_remove_unnecessary_suppression_exclusions = none | ||
|
||
# Avoid simple if block w/o brace that could lead to inserting a new statement and breaking code | ||
# csharp_prefer_braces = true:silent | ||
# csharp_preserve_single_line_statements = false | ||
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent | ||
# TODO: Reconsider later. For now, allow single-line if-guards | ||
csharp_prefer_braces = when_multiline:silent | ||
csharp_preserve_single_line_statements = true | ||
|
||
# Extra loop safety. TODO: consider "always" | ||
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed | ||
|
||
# Allow { get; set; } on a single line | ||
csharp_preserve_single_line_blocks = true | ||
|
||
# Don't hide the operator at the end of the line | ||
dotnet_style_operator_placement_when_wrapping = beginning_of_line | ||
|
||
# Modifier preferences | ||
csharp_prefer_static_local_function = true:suggestion | ||
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async | ||
csharp_style_prefer_readonly_struct = true:suggestion | ||
csharp_style_prefer_readonly_struct_member = true:suggestion | ||
dotnet_style_readonly_field = true:suggestion | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
|
||
# Organize usings and namespace | ||
csharp_style_namespace_declarations = file_scoped:silent | ||
csharp_using_directive_placement = outside_namespace:suggestion | ||
csharp_prefer_simple_using_statement = true:suggestion | ||
dotnet_separate_import_directive_groups = false | ||
dotnet_sort_system_directives_first = true | ||
dotnet_style_namespace_match_folder = true:suggestion | ||
|
||
# Destructuring and ranges | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_style_prefer_index_operator = true:suggestion | ||
csharp_style_prefer_range_operator = true:suggestion | ||
csharp_style_prefer_tuple_swap = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
|
||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_prefer_extended_property_pattern = true:suggestion | ||
csharp_style_prefer_not_pattern = true:suggestion | ||
csharp_style_prefer_pattern_matching = true:silent | ||
csharp_style_prefer_switch_expression = true:suggestion | ||
|
||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
|
||
# New lines and Blank lines | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_between_query_expression_clauses = true | ||
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:silent | ||
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false:silent | ||
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = false:silent | ||
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = false:silent | ||
dotnet_style_allow_multiple_blank_lines_experimental = false:silent | ||
dotnet_style_allow_statement_immediately_after_block_experimental = false:silent | ||
|
||
# Indentation preferences | ||
csharp_indent_block_contents = true | ||
csharp_indent_braces = false | ||
csharp_indent_case_contents = true | ||
csharp_indent_case_contents_when_block = true | ||
csharp_indent_labels = one_less_than_current | ||
csharp_indent_switch_labels = true | ||
|
||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_after_comma = true | ||
csharp_space_after_dot = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_after_semicolon_in_for_statement = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_around_declaration_statements = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_before_comma = false | ||
csharp_space_before_dot = false | ||
csharp_space_before_open_square_brackets = false | ||
csharp_space_before_semicolon_in_for_statement = false | ||
csharp_space_between_empty_square_brackets = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_name_and_open_parenthesis = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_between_square_brackets = false | ||
|
||
#### Code simplifications #### | ||
|
||
# Simplified initializers and calls | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_prefer_method_group_conversion = true:silent | ||
csharp_style_prefer_primary_constructors = true:suggestion | ||
csharp_style_prefer_utf8_string_literals = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_simplified_interpolation = true:suggestion | ||
|
||
# Unused variables, declarations and assignements | ||
csharp_style_prefer_top_level_statements = true:silent | ||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion | ||
csharp_style_unused_value_expression_statement_preference = false | ||
dotnet_code_quality_unused_parameters = all:suggestion | ||
|
||
# Ternaries, coalescence and null-checking | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
csharp_style_prefer_null_check_over_type_check = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion | ||
# ... but don't treat throw as an expression and ensure it stays obvious | ||
csharp_style_throw_expression = false:suggestion | ||
dotnet_style_prefer_conditional_expression_over_return = false:silent | ||
|
||
# Prefer arrow functions! | ||
csharp_style_expression_bodied_methods = true:silent | ||
# TODO: Take a decision on this, false vs when_on_single_line | ||
# csharp_style_expression_bodied_constructors = when_on_single_line:silent | ||
# For now just disable | ||
dotnet_diagnostic.IDE0021.severity = none | ||
csharp_style_expression_bodied_operators = when_on_single_line:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = true:silent | ||
|
||
# Prefer more succint variable declarations | ||
csharp_style_prefer_local_over_anonymous_function = true:suggestion | ||
csharp_style_var_elsewhere = true:silent | ||
csharp_style_var_for_built_in_types = true:silent | ||
csharp_style_var_when_type_is_apparent = true:silent | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
|
||
# Avoid redundant this. and Me. | ||
dotnet_style_qualification_for_event = false:silent | ||
dotnet_style_qualification_for_field = false:silent | ||
dotnet_style_qualification_for_method = false:silent | ||
dotnet_style_qualification_for_property = false:silent | ||
|
||
#### Naming styles, rules and Symbol specifications ### | ||
|
||
dotnet_naming_style.begins_with_i.required_prefix = I | ||
dotnet_naming_style.begins_with_i.required_suffix = | ||
dotnet_naming_style.begins_with_i.word_separator = | ||
dotnet_naming_style.begins_with_i.capitalization = pascal_case | ||
|
||
dotnet_naming_style.pascal_case.required_prefix = | ||
dotnet_naming_style.pascal_case.required_suffix = | ||
dotnet_naming_style.pascal_case.word_separator = | ||
dotnet_naming_style.pascal_case.capitalization = pascal_case | ||
|
||
dotnet_naming_style._fieldname.required_prefix = _ | ||
dotnet_naming_style._fieldname.required_suffix = | ||
dotnet_naming_style._fieldname.word_separator = | ||
dotnet_naming_style._fieldname.capitalization = camel_case | ||
|
||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion | ||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface | ||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i | ||
|
||
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types | ||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case | ||
|
||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members | ||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case | ||
|
||
dotnet_naming_rule.private_or_internal_field_should_be__fieldname.severity = suggestion | ||
dotnet_naming_rule.private_or_internal_field_should_be__fieldname.symbols = private_or_internal_field | ||
dotnet_naming_rule.private_or_internal_field_should_be__fieldname.style = _fieldname | ||
|
||
dotnet_naming_symbols.interface.applicable_kinds = interface | ||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.interface.required_modifiers = | ||
|
||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum | ||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.types.required_modifiers = | ||
|
||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method | ||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.non_field_members.required_modifiers = | ||
|
||
dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field | ||
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected | ||
dotnet_naming_symbols.private_or_internal_field.required_modifiers = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.