From 2c5679172182a63cd313969fbbb9866b35cc743b Mon Sep 17 00:00:00 2001 From: Louis Seubert Date: Sat, 9 May 2026 22:35:20 +0200 Subject: [PATCH] chore: improve linting and formatting --- .editorconfig | 48 ++++++++++++++-------------------- .forgejo/workflows/default.yml | 6 ++++- .forgejo/workflows/release.yml | 6 ++++- Directory.Build.props | 3 ++- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/.editorconfig b/.editorconfig index 3848020..ed9d022 100644 --- a/.editorconfig +++ b/.editorconfig @@ -14,22 +14,28 @@ indent_size = 2 indent_style = space trim_trailing_whitespace = false -[*.{csproj,props,targets,slnx}] +[*.{csproj,props,targets,slnx,config}] indent_size = 2 indent_style = space -[nuget.config] -indent_size = 2 -indent_style = space +[*.{cs,vb}] +#### code quality rule overrides #### + +#> Identifiers should not match keywords +dotnet_diagnostic.CA1716.severity = suggestion + +#### code style rule default severity #### +dotnet_analyzer_diagnostic.category-style.severity = warning + +#> Use top-level statements +dotnet_diagnostic.IDE0210.severity = none #### .NET Coding Conventions #### [*.{cs,vb}] - # Organize usings file_header_template = Copyright (c) The Geekeey Authors\nSPDX-License-Identifier: EUPL-1.2 dotnet_separate_import_directive_groups = true dotnet_sort_system_directives_first = true -dotnet_diagnostic.IDE0005.severity = suggestion # https://github.com/dotnet/roslyn/issues/41640 # this. and Me. preferences dotnet_style_qualification_for_event = false @@ -51,9 +57,8 @@ dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity dotnet_style_require_accessibility_modifiers = for_non_interface_members # Expression-level preferences - dotnet_diagnostic.IDE0270.severity = none -dotnet_style_coalesce_expression = true # IDE0029,IDE0030,IDE0270 +dotnet_style_coalesce_expression = true dotnet_style_collection_initializer = true dotnet_style_explicit_tuple_names = true @@ -64,16 +69,17 @@ dotnet_style_prefer_auto_properties = true dotnet_style_prefer_compound_assignment = true dotnet_diagnostic.IDE0045.severity = suggestion -dotnet_style_prefer_conditional_expression_over_assignment = true # IDE0045 +dotnet_style_prefer_conditional_expression_over_assignment = true + dotnet_diagnostic.IDE0046.severity = suggestion -dotnet_style_prefer_conditional_expression_over_return = true # IDE0046 +dotnet_style_prefer_conditional_expression_over_return = true dotnet_style_prefer_inferred_anonymous_type_member_names = true dotnet_style_prefer_inferred_tuple_names = true dotnet_style_prefer_is_null_check_over_reference_equality_method = true dotnet_style_prefer_simplified_boolean_expressions = true dotnet_style_prefer_simplified_interpolation = true -dotnet_style_namespace_match_folder = false # resharper: resharper_check_namespace_highlighting +dotnet_style_namespace_match_folder = false # Field preferences dotnet_style_readonly_field = true @@ -132,8 +138,8 @@ csharp_style_prefer_range_operator = true csharp_style_throw_expression = true dotnet_diagnostic.IDE0058.severity = suggestion -csharp_style_unused_value_assignment_preference = discard_variable # IDE0058 -csharp_style_unused_value_expression_statement_preference = discard_variable # IDE0058 +csharp_style_unused_value_assignment_preference = discard_variable +csharp_style_unused_value_expression_statement_preference = discard_variable # 'using' directive preferences csharp_using_directive_placement = outside_namespace @@ -401,19 +407,3 @@ dotnet_naming_style.s_camelcase.required_prefix = s_ dotnet_naming_style.s_camelcase.required_suffix = dotnet_naming_style.s_camelcase.word_separator = dotnet_naming_style.s_camelcase.capitalization = camel_case - -[*.{cs,vb}] -dotnet_analyzer_diagnostic.category-style.severity = warning -dotnet_analyzer_diagnostic.category-design.severity = warning -dotnet_analyzer_diagnostic.category-globalization.severity = notice -dotnet_analyzer_diagnostic.category-naming.severity = warning -dotnet_analyzer_diagnostic.category-performance.severity = warning -dotnet_analyzer_diagnostic.category-reliability.severity = warning -dotnet_analyzer_diagnostic.category-security.severity = warning -dotnet_analyzer_diagnostic.category-usage.severity = warning -dotnet_analyzer_diagnostic.category-maintainability.severity = warning - -dotnet_diagnostic.CA1716.severity = none # Identifiers should not match keywords -dotnet_diagnostic.CA1816.severity = suggestion # Dispose methods should call SuppressFinalize -dotnet_diagnostic.CA1848.severity = none # Use the LoggerMessage delegates -dotnet_diagnostic.IDE0210.severity = none # Use top-level statements diff --git a/.forgejo/workflows/default.yml b/.forgejo/workflows/default.yml index a007574..51c054c 100644 --- a/.forgejo/workflows/default.yml +++ b/.forgejo/workflows/default.yml @@ -34,6 +34,10 @@ jobs: run: | dotnet pack -p:ContinuousIntegrationBuild=true + - name: dotnet format --verify-no-changes + run: | + dotnet format --no-restore --verify-no-changes --verbosity normal + - name: dotnet test run: | - dotnet test -p:ContinuousIntegrationBuild=true \ No newline at end of file + dotnet test -p:ContinuousIntegrationBuild=true diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 603a9d6..36f7097 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -29,8 +29,12 @@ jobs: run: | dotnet test -p:ContinuousIntegrationBuild=true + - name: dotnet format --verify-no-changes + run: | + dotnet format --no-restore --verify-no-changes --verbosity normal + - name: dotnet nuget push run: | # The token used here is only intended to publish packages dotnet nuget push -k "${{ secrets.geekeey_package_registry }}" \ - artifacts/package/release/Geekeey.*.nupkg \ No newline at end of file + artifacts/package/release/Geekeey.*.nupkg diff --git a/Directory.Build.props b/Directory.Build.props index 7996aa7..3f87bff 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -13,6 +13,7 @@ + Recommended true nullable true @@ -34,4 +35,4 @@ moderate all - \ No newline at end of file +