-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add init * add bot tests * add regex map * Apply suggestions from code review Co-authored-by: Günther Foidl <[email protected]> * add memory cache implementation * add regex * remove custom * add factories * remove redirect * fix naming * add cache feedback * add feedback * remove doubled ctor * add feedback * add docs * add feedback * add code cleanup * add docs * add docs * add feedback * add docs * add auto cleanup editconfig * add feedback * add tests * add tests * add tests * add tests * add tests * add cicd * add feedback * add nuget stuff * add docs * add benchmark * add benchmark * add benchmarks * fix doc Co-authored-by: Günther Foidl <[email protected]>
- Loading branch information
1 parent
8c915aa
commit 1236675
Showing
50 changed files
with
2,896 additions
and
1 deletion.
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,240 @@ | ||
# Remove the line below if you want to inherit .editorconfig settings from higher directories | ||
root = true | ||
|
||
# all files | ||
[*] | ||
|
||
charset = utf-8 | ||
|
||
# Indentation and spacing | ||
indent_style = space | ||
indent_size = 4 | ||
tab_width = 4 | ||
|
||
# New line preferences | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
# C# files | ||
[*.cs] | ||
|
||
file_header_template = Copyright © myCSharp 2020-2021, all rights reserved | ||
|
||
#### .NET Coding Conventions #### | ||
|
||
# Organize usings | ||
dotnet_separate_import_directive_groups = false | ||
dotnet_sort_system_directives_first = true | ||
|
||
# this. and Me. preferences | ||
dotnet_style_qualification_for_event = true:suggestion | ||
dotnet_style_qualification_for_field = false:suggestion | ||
dotnet_style_qualification_for_method = true:suggestion | ||
dotnet_style_qualification_for_property = true:suggestion | ||
|
||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion | ||
dotnet_style_predefined_type_for_member_access = true:suggestion | ||
|
||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary: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 | ||
|
||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
|
||
# Expression-level preferences | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
csharp_style_throw_expression = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_compound_assignment = true:suggestion | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion | ||
|
||
# Field preferences | ||
dotnet_style_readonly_field = true:suggestion | ||
|
||
# Parameter preferences | ||
dotnet_code_quality_unused_parameters = all:suggestion | ||
|
||
#### C# Coding Conventions #### | ||
|
||
# var preferences | ||
csharp_style_var_elsewhere = false:silent | ||
csharp_style_var_for_built_in_types = false:silent | ||
csharp_style_var_when_type_is_apparent = true:silent | ||
|
||
# Expression-bodied members | ||
csharp_style_expression_bodied_accessors = true:silent | ||
csharp_style_expression_bodied_constructors = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_lambdas = true:silent | ||
csharp_style_expression_bodied_local_functions = true:silent | ||
csharp_style_expression_bodied_methods = true:silent | ||
csharp_style_expression_bodied_operators = true:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
|
||
# 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_switch_expression = true:suggestion | ||
|
||
# Null-checking preferences | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
|
||
# Modifier preferences | ||
csharp_prefer_static_local_function = true:suggestion | ||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async | ||
|
||
# Code-block preferences | ||
csharp_prefer_braces = false:silent | ||
csharp_prefer_simple_using_statement = true:suggestion | ||
|
||
# Expression-level preferences | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_pattern_local_over_anonymous_function = true:suggestion | ||
csharp_style_prefer_index_operator = true:suggestion | ||
csharp_style_prefer_range_operator = true:suggestion | ||
csharp_style_unused_value_assignment_preference = discard_variable:suggestion | ||
csharp_style_unused_value_expression_statement_preference = discard_variable:silent | ||
|
||
# 'using' directive preferences | ||
csharp_using_directive_placement = outside_namespace:silent | ||
|
||
#### C# Formatting Rules #### | ||
|
||
# New line preferences | ||
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 | ||
|
||
# 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 | ||
|
||
# Wrapping preferences | ||
csharp_preserve_single_line_blocks = true | ||
csharp_preserve_single_line_statements = true | ||
|
||
#### Naming styles #### | ||
|
||
# Naming rules | ||
|
||
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.constant_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constant_should_be_pascal_case.symbols = constant | ||
dotnet_naming_rule.constant_should_be_pascal_case.style = pascal_case | ||
|
||
dotnet_naming_rule.private_or_internal_static_field_should_be_static_field.severity = suggestion | ||
dotnet_naming_rule.private_or_internal_static_field_should_be_static_field.symbols = private_or_internal_static_field | ||
dotnet_naming_rule.private_or_internal_static_field_should_be_static_field.style = static_field | ||
|
||
dotnet_naming_rule.private_or_internal_field_should_be_instance_field.severity = suggestion | ||
dotnet_naming_rule.private_or_internal_field_should_be_instance_field.symbols = private_or_internal_field | ||
dotnet_naming_rule.private_or_internal_field_should_be_instance_field.style = instance_field | ||
|
||
# Symbol specifications | ||
|
||
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.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 = | ||
|
||
dotnet_naming_symbols.private_or_internal_static_field.applicable_kinds = field | ||
dotnet_naming_symbols.private_or_internal_static_field.applicable_accessibilities = internal, private, private_protected | ||
dotnet_naming_symbols.private_or_internal_static_field.required_modifiers = static | ||
|
||
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.constant.applicable_kinds = field | ||
dotnet_naming_symbols.constant.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected | ||
dotnet_naming_symbols.constant.required_modifiers = const | ||
|
||
# Naming styles | ||
|
||
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.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.static_field.required_prefix = s_ | ||
dotnet_naming_style.static_field.required_suffix = | ||
dotnet_naming_style.static_field.word_separator = | ||
dotnet_naming_style.static_field.capitalization = camel_case | ||
|
||
dotnet_naming_style.instance_field.required_prefix = _ | ||
dotnet_naming_style.instance_field.required_suffix = | ||
dotnet_naming_style.instance_field.word_separator = | ||
dotnet_naming_style.instance_field.capitalization = camel_case | ||
|
||
# RCS1096: Convert 'HasFlag' call to bitwise operation (or vice versa). | ||
dotnet_diagnostic.RCS1096.severity = none |
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,46 @@ | ||
name: NETCore | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
types: [closed] | ||
branches: | ||
- master | ||
|
||
env: | ||
BuildConfig: Release | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 # avoid shallow clone so nbgv can do its work. | ||
|
||
- uses: dotnet/nbgv@master # https://github.com/dotnet/nbgv | ||
id: nbgv | ||
|
||
- name: Versioning | ||
run: echo ${{ steps.nbgv.outputs.SemVer2 }} | ||
|
||
- name: Build with dotnet | ||
run: dotnet build | ||
--configuration ${{ env.BuildConfig }} | ||
/p:Version=${{ steps.nbgv.outputs.AssemblyVersion }} | ||
|
||
- name: Test with dotnet | ||
run: dotnet test | ||
|
||
- name: Pack NuGet | ||
run: dotnet pack | ||
--configuration ${{ env.BuildConfig }} | ||
/p:Version=${{ steps.nbgv.outputs.NuGetPackageVersion }} | ||
|
||
- name: Push to NuGet | ||
run: dotnet nuget push **/*.nupkg | ||
--api-key ${{ secrets.NUGET_DEPLOY_KEY }} | ||
--source https://api.nuget.org/v3/index.json | ||
--no-symbols 1 |
Oops, something went wrong.