Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jnm2 committed Jan 9, 2021
0 parents commit 6af7abc
Show file tree
Hide file tree
Showing 30 changed files with 2,505 additions and 0 deletions.
163 changes: 163 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
root = true

[*]
charset = utf-8
end_of_line = crlf
insert_final_newline = true
trim_trailing_whitespace = true

[*.cs]
indent_size = 4
indent_style = space

[*.{sln,*proj,dotsettings}]
charset = utf-8-bom

[*.md]
trim_trailing_whitespace = false

[*]
csharp_indent_case_contents_when_block = false
dotnet_style_collection_initializer = true:silent
csharp_style_conditional_delegate_call = true:error
csharp_style_deconstructed_variable_declaration = true:silent
dotnet_style_object_initializer = true:silent
dotnet_sort_system_directives_first = true
dotnet_code_quality_unused_parameters = all:silent
dotnet_style_explicit_tuple_names = true:error
dotnet_style_predefined_type_for_locals_parameters_members = true:error
dotnet_style_predefined_type_for_member_access = true:error
dotnet_style_readonly_field = true:error
csharp_style_var_elsewhere = true:silent
csharp_style_var_for_built_in_types = true:silent
csharp_style_var_when_type_is_apparent = true:silent

# Override ReSharper defaults
csharp_space_after_cast = false
resharper_csharp_space_within_single_line_array_initializer_braces = true # https://www.jetbrains.com/help/resharper/EditorConfig_CSHARP_SpacesPageSchema.html#resharper_csharp_space_within_single_line_array_initializer_braces

# The first matching rule wins, more specific rules at the top
# dotnet_naming_rule.*.symbols does not yet support a comma-separated list https://github.com/dotnet/roslyn/issues/20891
# dotnet_naming_symbols.*.applicable_kinds does not yet support namespace, type_parameter or local https://github.com/dotnet/roslyn/issues/18121

dotnet_naming_style.interfaces.required_prefix = I
dotnet_naming_style.interfaces.capitalization = pascal_case # Needed or VS ignores all naming rules https://github.com/dotnet/roslyn/issues/20895

dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_rule.interfaces.severity = error
dotnet_naming_rule.interfaces.symbols = interfaces
dotnet_naming_rule.interfaces.style = interfaces


dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_symbols.namespaces_types_and_non_field_members.applicable_kinds = namespace, class, struct, enum, interface, delegate, type_parameter, method, property, event
dotnet_naming_rule.namespaces_types_and_non_field_members.severity = warning
dotnet_naming_rule.namespaces_types_and_non_field_members.symbols = namespaces_types_and_non_field_members
dotnet_naming_rule.namespaces_types_and_non_field_members.style = pascal_case

dotnet_naming_symbols.non_private_fields.applicable_kinds = field
dotnet_naming_symbols.non_private_fields.applicable_accessibilities = public, protected, protected_internal, internal
dotnet_naming_rule.non_private_fields.severity = warning
dotnet_naming_rule.non_private_fields.symbols = non_private_fields
dotnet_naming_rule.non_private_fields.style = pascal_case

dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
dotnet_naming_rule.static_readonly_fields.severity = warning
dotnet_naming_rule.static_readonly_fields.symbols = static_readonly_fields
dotnet_naming_rule.static_readonly_fields.style = pascal_case

dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_rule.constant_fields.severity = warning
dotnet_naming_rule.constant_fields.symbols = constant_fields
dotnet_naming_rule.constant_fields.style = pascal_case


dotnet_naming_style.camel_case.capitalization = camel_case

dotnet_naming_symbols.other_fields_parameters_and_locals.applicable_kinds = field, parameter, local
dotnet_naming_rule.other_fields_parameters_and_locals.severity = warning
dotnet_naming_rule.other_fields_parameters_and_locals.symbols = other_fields_parameters_and_locals
dotnet_naming_rule.other_fields_parameters_and_locals.style = camel_case


# .NET diagnostic configuration

# CS8509: The switch expression does not handle all possible inputs (it is not exhaustive).
dotnet_diagnostic.CS8509.severity = silent
# CS8524: The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value.
dotnet_diagnostic.CS8524.severity = silent

# IDE0005: Using directive is unnecessary.
dotnet_diagnostic.IDE0005.severity = warning

# CA1304: Specify CultureInfo
dotnet_diagnostic.CA1304.severity = warning

# CA1305: Specify IFormatProvider
dotnet_diagnostic.CA1305.severity = warning

# CA1310: Specify StringComparison for correctness
dotnet_diagnostic.CA1310.severity = warning

# CA1825: Avoid zero-length array allocations
dotnet_diagnostic.CA1825.severity = warning

# CA2016: Forward the 'CancellationToken' parameter to methods that take one
dotnet_diagnostic.CA2016.severity = warning

# CA2208: Instantiate argument exceptions correctly
dotnet_diagnostic.CA2208.severity = warning

# CA2211: Non-constant fields should not be visible
dotnet_diagnostic.CA2211.severity = warning

# CA2219: Do not raise exceptions in finally clauses
dotnet_diagnostic.CA2219.severity = warning

# CA2231: Overload operator equals on overriding value type Equals
dotnet_diagnostic.CA2231.severity = warning

# CA1806: Do not ignore method results
dotnet_diagnostic.CA1806.severity = silent

# CA1816: Dispose methods should call SuppressFinalize
dotnet_diagnostic.CA1816.severity = none

# CA1822: Mark members as static
dotnet_diagnostic.CA1822.severity = silent

# CA1826: Do not use Enumerable methods on indexable collections
dotnet_diagnostic.CA1826.severity = silent

# CA1834: Consider using 'StringBuilder.Append(char)' when applicable
dotnet_diagnostic.CA1834.severity = silent

# CA1806: Do not ignore method results
dotnet_diagnostic.CA1806.severity = silent

# CA2245: Do not assign a property to itself
dotnet_diagnostic.CA2245.severity = silent

# CA2201: Do not raise reserved exception types
dotnet_diagnostic.CA2201.severity = warning

# CA1805: Do not initialize unnecessarily
dotnet_diagnostic.CA1805.severity = warning

# CA1725: Parameter names should match base declaration
dotnet_diagnostic.CA1725.severity = warning

# IDE0001: Simplify Names
dotnet_diagnostic.IDE0001.severity = warning

# CA2215: Dispose methods should call base class dispose
dotnet_diagnostic.CA2215.severity = warning

# IDE0059: Unnecessary assignment of a value
dotnet_diagnostic.IDE0059.severity = warning

# CA1031: Do not catch general exception types
dotnet_diagnostic.CA1031.severity = warning
63 changes: 63 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
Loading

0 comments on commit 6af7abc

Please sign in to comment.