Skip to content

Commit a5e1346

Browse files
committed
add the implementation
0 parents  commit a5e1346

23 files changed

Lines changed: 1544 additions & 0 deletions

.editorconfig

Lines changed: 232 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
# top-most EditorConfig file
3+
root = true
4+
# Unix-style newlines with a newline ending every file
5+
[*]
6+
end_of_line = lf
7+
insert_final_newline = true
8+
trim_trailing_whitespace = true
9+
# Matches multiple files with brace expansion notation
10+
# Set default charset
11+
[*.js]
12+
charset = utf-8
13+
# Solution Files
14+
[*.sln]
15+
indent_style = tab
16+
# XML Project Files
17+
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
18+
indent_size = 2
19+
# YAML Files
20+
[*.{yml,yaml}]
21+
indent_size = 2
22+
indent_style = space
23+
# Markdown Files
24+
[*.md]
25+
trim_trailing_whitespace = false
26+
# .NET Code Style Settings
27+
[*.{cs,csx,cake,vb}]
28+
# "this." and "Me." qualifiers
29+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#this_and_me
30+
dotnet_style_qualification_for_field = false:warning
31+
dotnet_style_qualification_for_property = false:warning
32+
dotnet_style_qualification_for_method = false:warning
33+
dotnet_style_qualification_for_event = false:warning
34+
# Language keywords instead of framework type names for type references
35+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#language_keywords
36+
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
37+
dotnet_style_predefined_type_for_member_access = true:warning
38+
# Modifier preferences
39+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#normalize_modifiers
40+
dotnet_style_require_accessibility_modifiers = always:warning
41+
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async
42+
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async
43+
dotnet_style_readonly_field = true:warning
44+
# Expression-level preferences
45+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level
46+
dotnet_style_object_initializer = true:warning
47+
dotnet_style_collection_initializer = true:warning
48+
dotnet_style_explicit_tuple_names = true:warning
49+
dotnet_style_prefer_inferred_tuple_names = true:warning
50+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
51+
dotnet_style_prefer_auto_properties = true:warning
52+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:warning
53+
# Null-checking preferences
54+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking
55+
dotnet_style_coalesce_expression = true:warning
56+
dotnet_style_null_propagation = true:warning
57+
# Other (Undocumented)
58+
dotnet_style_prefer_conditional_expression_over_return = false
59+
dotnet_style_prefer_conditional_expression_over_assignment = false
60+
# C# Code Style Settings
61+
[*.{cs,csx,cake}]
62+
# Implicit and explicit types
63+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#implicit-and-explicit-types
64+
csharp_style_var_for_built_in_types = true:warning
65+
csharp_style_var_when_type_is_apparent = true:warning
66+
csharp_style_var_elsewhere = true:warning
67+
# Expression-bodied members
68+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_bodied_members
69+
csharp_style_expression_bodied_methods = false:warning
70+
csharp_style_expression_bodied_constructors = false:warning
71+
csharp_style_expression_bodied_operators = true:warning
72+
csharp_style_expression_bodied_properties = true:warning
73+
csharp_style_expression_bodied_indexers = true:warning
74+
csharp_style_expression_bodied_accessors = true:warning
75+
# Pattern matching
76+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#pattern_matching
77+
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
78+
csharp_style_pattern_matching_over_as_with_null_check = true:warning
79+
# Inlined variable declarations
80+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#inlined_variable_declarations
81+
csharp_style_inlined_variable_declaration = true:warning
82+
# Expression-level preferences
83+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#expression_level_csharp
84+
csharp_prefer_simple_default_expression = true:warning
85+
csharp_style_deconstructed_variable_declaration = true:warning
86+
csharp_style_pattern_local_over_anonymous_function = true:warning
87+
# "Null" checking preferences
88+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#null_checking_csharp
89+
csharp_style_throw_expression = true:warning
90+
csharp_style_conditional_delegate_call = true:warning
91+
# Code block preferences
92+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#code_block
93+
csharp_prefer_braces = true:warning
94+
#############################
95+
# .NET Formatting Conventions
96+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#formatting-conventions
97+
#############################
98+
# Organize usings
99+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#usings
100+
dotnet_sort_system_directives_first = true:warning
101+
# C# formatting settings
102+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#c-formatting-settings
103+
csharp_new_line_before_open_brace = all
104+
csharp_new_line_before_else = true:warning
105+
csharp_new_line_before_catch = true:warning
106+
csharp_new_line_before_finally = true:warning
107+
csharp_new_line_before_members_in_object_initializers = true:warning
108+
csharp_new_line_before_members_in_anonymous_types = true:warning
109+
csharp_new_line_between_query_expression_clauses = true:warning
110+
# Indentation options
111+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#indent
112+
csharp_indent_case_contents = true:warning
113+
csharp_indent_switch_labels = true:warning
114+
csharp_indent_labels = no_change:warning
115+
# Spacing options
116+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#spacing
117+
csharp_space_after_cast = false:warning
118+
csharp_space_after_keywords_in_control_flow_statements = true:warning
119+
csharp_space_between_method_declaration_parameter_list_parentheses = false:warning
120+
csharp_space_between_method_call_parameter_list_parentheses = false:warning
121+
csharp_space_between_parentheses = expressions:warning
122+
csharp_space_before_colon_in_inheritance_clause = true:warning
123+
csharp_space_after_colon_in_inheritance_clause = true:warning
124+
csharp_space_around_binary_operators = before_and_after:warning
125+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false:warning
126+
csharp_space_between_method_call_name_and_opening_parenthesis = false:warning
127+
csharp_space_between_method_call_empty_parameter_list_parentheses = false:warning
128+
# Wrapping options
129+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference#wrapping
130+
csharp_preserve_single_line_statements = false:warning
131+
csharp_preserve_single_line_blocks = true:warning
132+
# More Indentation options (Undocumented)
133+
csharp_indent_block_contents = true:warning
134+
csharp_indent_braces = false:warning
135+
# Spacing Options (Undocumented)
136+
csharp_space_after_comma = true:warning
137+
csharp_space_after_dot = false:warning
138+
csharp_space_after_semicolon_in_for_statement = true:warning
139+
csharp_space_around_declaration_statements = do_not_ignore:warning
140+
csharp_space_before_comma = false:warning
141+
csharp_space_before_dot = false:warning
142+
csharp_space_before_semicolon_in_for_statement = false:warning
143+
csharp_space_before_open_square_brackets = false:warning
144+
csharp_space_between_empty_square_brackets = false:warning
145+
csharp_space_between_method_declaration_name_and_open_parenthesis = false:warning
146+
csharp_space_between_square_brackets = false:warning
147+
#########################
148+
# .NET Naming conventions
149+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-naming-conventions
150+
#########################
151+
[*.{cs,csx,cake,vb}]
152+
# Naming Symbols
153+
# constant_fields - Define constant fields
154+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
155+
dotnet_naming_symbols.constant_fields.required_modifiers = const
156+
# non_private_readonly_fields - Define public, internal and protected readonly fields
157+
dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
158+
dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
159+
dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
160+
# static_readonly_fields - Define static and readonly fields
161+
dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
162+
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
163+
# private_readonly_fields - Define private readonly fields
164+
dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
165+
dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
166+
dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
167+
# public_internal_fields - Define public and internal fields
168+
dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
169+
dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
170+
# private_protected_fields - Define private and protected fields
171+
dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
172+
dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
173+
# public_symbols - Define any public symbol
174+
dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
175+
dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
176+
# parameters - Defines any parameter
177+
dotnet_naming_symbols.parameters.applicable_kinds = parameter
178+
# non_interface_types - Defines class, struct, enum and delegate types
179+
dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
180+
# interface_types - Defines interfaces
181+
dotnet_naming_symbols.interface_types.applicable_kinds = interface
182+
# Naming Styles
183+
# camel_case - Define the camelCase style
184+
dotnet_naming_style.camel_case.capitalization = camel_case
185+
# pascal_case - Define the Pascal_case style
186+
dotnet_naming_style.pascal_case.capitalization = pascal_case
187+
# first_upper - The first character must start with an upper-case character
188+
dotnet_naming_style.first_upper.capitalization = first_word_upper
189+
# prefix_interface_interface_with_i - Interfaces must be PascalCase and the first character of an interface must be an 'I'
190+
dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
191+
dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
192+
# Naming Rules
193+
# Constant fields must be PascalCase
194+
dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
195+
dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
196+
dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
197+
# Public, internal and protected readonly fields must be PascalCase
198+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.severity = warning
199+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.symbols = non_private_readonly_fields
200+
dotnet_naming_rule.non_private_readonly_fields_must_be_pascal_case.style = pascal_case
201+
# Static readonly fields must be PascalCase
202+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
203+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
204+
dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
205+
# Private readonly fields must be camelCase
206+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
207+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
208+
dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
209+
# Public and internal fields must be PascalCase
210+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
211+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
212+
dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
213+
# Private and protected fields must be camelCase
214+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
215+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
216+
dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
217+
# Public members must be capitalized
218+
dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
219+
dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
220+
dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
221+
# Parameters must be camelCase
222+
dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
223+
dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
224+
dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
225+
# Class, struct, enum and delegates must be PascalCase
226+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
227+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
228+
dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
229+
# Interfaces must be PascalCase and start with an 'I'
230+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
231+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
232+
dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i

0 commit comments

Comments
 (0)