-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.editorconfig
169 lines (140 loc) · 7.98 KB
/
.editorconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# Documentation:
# https://editorconfig.org
# https://aka.ms/editorconfigdocs
#
# Copyright Jeffrey Sharp
# SPDX-License-Identifier: ISC
root = true
[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.sln]
charset = utf-8-bom
indent_style = tab
[.root.targets]
charset = utf-8-bom
[*.*proj]
charset = utf-8-bom
[*.{config,json,jsonc,md,*proj,props,runsettings,targets,*xml,yaml,yml}]
indent_size = 2
[*.slnLaunch]
insert_final_newline = false
[dotnet-tools.json]
insert_final_newline = false
[*.cs]
file_header_template = Copyright Jeffrey Sharp\nSPDX-License-Identifier: ISC
dotnet_diagnostic.CA1859.severity = none # CA1859: Use concrete types when possible for improved performance
# C# Style Conventions
# Below are deviations from the default documented here:
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/code-style-rule-options
csharp_indent_case_contents_when_block = false # was true
csharp_prefer_braces = when_multiline # was true
csharp_space_after_cast = true # was false
csharp_style_expression_bodied_local_functions = when_on_single_line # was false
csharp_style_expression_bodied_methods = when_on_single_line # was false
csharp_style_expression_bodied_operators = when_on_single_line # was false
csharp_style_namespace_declarations = file_scoped:suggestion # was block_scoped
dotnet_style_namespace_match_folder = false # was true
csharp_style_prefer_primary_constructors = false # was true
csharp_style_var_elsewhere = true # was false
csharp_style_var_for_built_in_types = true # was false
csharp_style_var_when_type_is_apparent = true # was false
dotnet_sort_system_directives_first = true # was false
dotnet_style_allow_multiple_blank_lines_experimental = false:warning # was true
dotnet_style_allow_statement_immediately_after_block_experimental = false:warning # was true
# C# Naming Conventions
# Dcocumentation Here
# https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/naming-rules
## Naming Rules + Symbol Specifications ##
# Interface
dotnet_naming_rule.interface.symbols = interface
dotnet_naming_rule.interface.style = pascal_case_begins_with_i
dotnet_naming_rule.interface.severity = warning
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = *
dotnet_naming_symbols.interface.required_modifiers =
# Type parameter
dotnet_naming_rule.type_parameter.symbols = type_parameter
dotnet_naming_rule.type_parameter.style = pascal_case_begins_with_t
dotnet_naming_rule.type_parameter.severity = warning
dotnet_naming_symbols.type_parameter.applicable_kinds = type_parameter
dotnet_naming_symbols.type_parameter.applicable_accessibilities = *
dotnet_naming_symbols.type_parameter.required_modifiers =
# Type or namespace (except interface or type parameter)
dotnet_naming_rule.type_or_namespace.symbols = type_or_namespace
dotnet_naming_rule.type_or_namespace.style = pascal_case
dotnet_naming_rule.type_or_namespace.severity = warning
dotnet_naming_symbols.type_or_namespace.applicable_kinds = namespace, class, struct, enum, delegate
dotnet_naming_symbols.type_or_namespace.applicable_accessibilities = *
dotnet_naming_symbols.type_or_namespace.required_modifiers =
# Non-field member
dotnet_naming_rule.non_field_member.symbols = non_field_member
dotnet_naming_rule.non_field_member.style = pascal_case
dotnet_naming_rule.non_field_member.severity = warning
dotnet_naming_symbols.non_field_member.applicable_kinds = property, method, event, local_function
dotnet_naming_symbols.non_field_member.applicable_accessibilities = *
dotnet_naming_symbols.non_field_member.required_modifiers =
# Constant
dotnet_naming_rule.constant.symbols = constant
dotnet_naming_rule.constant.style = pascal_case
dotnet_naming_rule.constant.severity = warning
dotnet_naming_symbols.constant.applicable_kinds = field, local
dotnet_naming_symbols.constant.applicable_accessibilities = *
dotnet_naming_symbols.constant.required_modifiers = const
# Constant-like field
dotnet_naming_rule.constant_like_field.symbols = constant_like_field
dotnet_naming_rule.constant_like_field.style = pascal_case
dotnet_naming_rule.constant_like_field.severity = warning
dotnet_naming_symbols.constant_like_field.applicable_kinds = field, local
dotnet_naming_symbols.constant_like_field.applicable_accessibilities = *
dotnet_naming_symbols.constant_like_field.required_modifiers = static, readonly
# Private field
dotnet_naming_rule.private_field.symbols = private_field
dotnet_naming_rule.private_field.style = camel_case_begins_with_underscore
dotnet_naming_rule.private_field.severity = warning
dotnet_naming_symbols.private_field.applicable_kinds = field
dotnet_naming_symbols.private_field.applicable_accessibilities = private
dotnet_naming_symbols.private_field.required_modifiers =
# Non-private field
dotnet_naming_rule.non_private_field.symbols = non_private_field
dotnet_naming_rule.non_private_field.style = pascal_case
dotnet_naming_rule.non_private_field.severity = warning
dotnet_naming_symbols.non_private_field.applicable_kinds = field
dotnet_naming_symbols.non_private_field.applicable_accessibilities = public, internal, protected, protected_internal, private_protected, local
dotnet_naming_symbols.non_private_field.required_modifiers =
# Local or parameter
dotnet_naming_rule.local.symbols = local
dotnet_naming_rule.local.style = camel_case
dotnet_naming_rule.local.severity = warning
dotnet_naming_symbols.local.applicable_kinds = local, parameter
dotnet_naming_symbols.local.applicable_accessibilities = local
dotnet_naming_symbols.local.required_modifiers =
## Naming Styles ##
# 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
# Pascal case, begins with I
dotnet_naming_style.pascal_case_begins_with_i.required_prefix = I
dotnet_naming_style.pascal_case_begins_with_i.required_suffix =
dotnet_naming_style.pascal_case_begins_with_i.word_separator =
dotnet_naming_style.pascal_case_begins_with_i.capitalization = pascal_case
# Pascal case, begins with T
dotnet_naming_style.pascal_case_begins_with_t.required_prefix = T
dotnet_naming_style.pascal_case_begins_with_t.required_suffix =
dotnet_naming_style.pascal_case_begins_with_t.word_separator =
dotnet_naming_style.pascal_case_begins_with_t.capitalization = pascal_case
# Camel case
dotnet_naming_style.camel_case.required_prefix =
dotnet_naming_style.camel_case.required_suffix =
dotnet_naming_style.camel_case.word_separator =
dotnet_naming_style.camel_case.capitalization = camel_case
# Camel case, begins with _
dotnet_naming_style.camel_case_begins_with_underscore.required_prefix = _
dotnet_naming_style.camel_case_begins_with_underscore.required_suffix =
dotnet_naming_style.camel_case_begins_with_underscore.word_separator =
dotnet_naming_style.camel_case_begins_with_underscore.capitalization = camel_case