-
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
edcdf04
commit b997abe
Showing
91 changed files
with
2,930 additions
and
1,130 deletions.
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,108 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<RuleSet Name="Rules for Jellyfin.Server" Description="Code analysis rules for Jellyfin.Server.csproj" ToolsVersion="14.0"> | ||
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers"> | ||
<!-- disable warning SA1009: Closing parenthesis should be followed by a space. --> | ||
<Rule Id="SA1009" Action="None" /> | ||
<!-- disable warning SA1011: Closing square bracket should be followed by a space. --> | ||
<Rule Id="SA1011" Action="None" /> | ||
<!-- disable warning SA1101: Prefix local calls with 'this.' --> | ||
<Rule Id="SA1101" Action="None" /> | ||
<!-- disable warning SA1108: Block statements should not contain embedded comments --> | ||
<Rule Id="SA1108" Action="None" /> | ||
<!-- disable warning SA1118: Parameter must not span multiple lines. --> | ||
<Rule Id="SA1118" Action="None" /> | ||
<!-- disable warning SA1128:: Put constructor initializers on their own line --> | ||
<Rule Id="SA1128" Action="None" /> | ||
<!-- disable warning SA1130: Use lambda syntax --> | ||
<Rule Id="SA1130" Action="None" /> | ||
<!-- disable warning SA1200: 'using' directive must appear within a namespace declaration --> | ||
<Rule Id="SA1200" Action="None" /> | ||
<!-- disable warning SA1202: 'public' members must come before 'private' members --> | ||
<Rule Id="SA1202" Action="None" /> | ||
<!-- disable warning SA1204: Static members must appear before non-static members --> | ||
<Rule Id="SA1204" Action="None" /> | ||
<!-- disable warning SA1309: Fields must not begin with an underscore --> | ||
<Rule Id="SA1309" Action="None" /> | ||
<!-- disable warning SA1413: Use trailing comma in multi-line initializers --> | ||
<Rule Id="SA1413" Action="None" /> | ||
<!-- disable warning SA1512: Single-line comments must not be followed by blank line --> | ||
<Rule Id="SA1512" Action="None" /> | ||
<!-- disable warning SA1515: Single-line comment should be preceded by blank line --> | ||
<Rule Id="SA1515" Action="None" /> | ||
<!-- disable warning SA1600: Elements should be documented --> | ||
<Rule Id="SA1600" Action="None" /> | ||
<!-- disable warning SA1602: Enumeration items should be documented --> | ||
<Rule Id="SA1602" Action="None" /> | ||
<!-- disable warning SA1633: The file header is missing or not located at the top of the file --> | ||
<Rule Id="SA1633" Action="None" /> | ||
</Rules> | ||
|
||
<Rules AnalyzerId="Microsoft.CodeAnalysis.NetAnalyzers" RuleNamespace="Microsoft.Design"> | ||
<!-- error on CA1305: Specify IFormatProvider --> | ||
<Rule Id="CA1305" Action="Error" /> | ||
<!-- error on CA1725: Parameter names should match base declaration --> | ||
<Rule Id="CA1725" Action="Error" /> | ||
<!-- error on CA1725: Call async methods when in an async method --> | ||
<Rule Id="CA1727" Action="Error" /> | ||
<!-- error on CA1843: Do not use 'WaitAll' with a single task --> | ||
<Rule Id="CA1843" Action="Error" /> | ||
<!-- error on CA2016: Forward the CancellationToken parameter to methods that take one | ||
or pass in 'CancellationToken.None' explicitly to indicate intentionally not propagating the token --> | ||
<Rule Id="CA2016" Action="Error" /> | ||
<!-- error on CA2254: Template should be a static expression --> | ||
<Rule Id="CA2254" Action="Error" /> | ||
|
||
<!-- disable warning CA1014: Mark assemblies with CLSCompliantAttribute --> | ||
<Rule Id="CA1014" Action="Info" /> | ||
<!-- disable warning CA1024: Use properties where appropriate --> | ||
<Rule Id="CA1024" Action="Info" /> | ||
<!-- disable warning CA1031: Do not catch general exception types --> | ||
<Rule Id="CA1031" Action="Info" /> | ||
<!-- disable warning CA1032: Implement standard exception constructors --> | ||
<Rule Id="CA1032" Action="Info" /> | ||
<!-- disable warning CA1040: Avoid empty interfaces --> | ||
<Rule Id="CA1040" Action="Info" /> | ||
<!-- disable warning CA1062: Validate arguments of public methods --> | ||
<Rule Id="CA1062" Action="Info" /> | ||
<!-- TODO: enable when false positives are fixed --> | ||
<!-- disable warning CA1508: Avoid dead conditional code --> | ||
<Rule Id="CA1508" Action="Info" /> | ||
<!-- disable warning CA1716: Identifiers should not match keywords --> | ||
<Rule Id="CA1716" Action="Info" /> | ||
<!-- disable warning CA1720: Identifiers should not contain type names --> | ||
<Rule Id="CA1720" Action="Info" /> | ||
<!-- disable warning CA1724: Type names should not match namespaces --> | ||
<Rule Id="CA1724" Action="Info" /> | ||
<!-- disable warning CA1805: Do not initialize unnecessarily --> | ||
<Rule Id="CA1805" Action="Info" /> | ||
<!-- disable warning CA1812: internal class that is apparently never instantiated. | ||
If so, remove the code from the assembly. | ||
If this class is intended to contain only static members, make it static --> | ||
<Rule Id="CA1812" Action="Info" /> | ||
<!-- disable warning CA1822: Member does not access instance data and can be marked as static --> | ||
<Rule Id="CA1822" Action="Info" /> | ||
<!-- disable warning CA2000: Dispose objects before losing scope --> | ||
<Rule Id="CA2000" Action="Info" /> | ||
<!-- disable warning CA2253: Named placeholders should not be numeric values --> | ||
<Rule Id="CA2253" Action="Info" /> | ||
<!-- disable warning CA5394: Do not use insecure randomness --> | ||
<Rule Id="CA5394" Action="Info" /> | ||
|
||
<!-- disable warning CA1054: Change the type of parameter url from string to System.Uri --> | ||
<Rule Id="CA1054" Action="None" /> | ||
<!-- disable warning CA1055: URI return values should not be strings --> | ||
<Rule Id="CA1055" Action="None" /> | ||
<!-- disable warning CA1056: URI properties should not be strings --> | ||
<Rule Id="CA1056" Action="None" /> | ||
<!-- disable warning CA1303: Do not pass literals as localized parameters --> | ||
<Rule Id="CA1303" Action="None" /> | ||
<!-- disable warning CA1308: Normalize strings to uppercase --> | ||
<Rule Id="CA1308" Action="None" /> | ||
<!-- disable warning CA1848: Use the LoggerMessage delegates --> | ||
<Rule Id="CA1848" Action="None" /> | ||
<!-- disable warning CA2101: Specify marshaling for P/Invoke string arguments --> | ||
<Rule Id="CA2101" Action="None" /> | ||
<!-- disable warning CA2234: Pass System.Uri objects instead of strings --> | ||
<Rule Id="CA2234" Action="None" /> | ||
</Rules> | ||
</RuleSet> |
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,200 @@ | ||
# With more recent updates Visual Studio 2017 supports EditorConfig files out of the box | ||
# Visual Studio Code needs an extension: https://github.com/editorconfig/editorconfig-vscode | ||
# For emacs, vim, np++ and other editors, see here: https://github.com/editorconfig | ||
############################### | ||
# Core EditorConfig Options # | ||
############################### | ||
root = true | ||
# All files | ||
[*] | ||
indent_style = space | ||
indent_size = 4 | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
end_of_line = lf | ||
max_line_length = off | ||
|
||
# YAML indentation | ||
[*.{yml,yaml}] | ||
indent_size = 2 | ||
|
||
# XML indentation | ||
[*.{csproj,xml}] | ||
indent_size = 2 | ||
|
||
############################### | ||
# .NET Coding Conventions # | ||
############################### | ||
[*.{cs,vb}] | ||
# Organize usings | ||
dotnet_sort_system_directives_first = true | ||
# this. preferences | ||
dotnet_style_qualification_for_field = false:silent | ||
dotnet_style_qualification_for_property = false:silent | ||
dotnet_style_qualification_for_method = false:silent | ||
dotnet_style_qualification_for_event = false:silent | ||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
dotnet_style_readonly_field = true:suggestion | ||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
|
||
############################### | ||
# Naming Conventions # | ||
############################### | ||
# Style Definitions (From Roslyn) | ||
|
||
# Non-private static fields are PascalCase | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | ||
|
||
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | ||
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | ||
|
||
# Constants are PascalCase | ||
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | ||
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style | ||
|
||
dotnet_naming_symbols.constants.applicable_kinds = field, local | ||
dotnet_naming_symbols.constants.required_modifiers = const | ||
|
||
dotnet_naming_style.constant_style.capitalization = pascal_case | ||
|
||
# Static fields are camelCase and start with s_ | ||
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields | ||
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style | ||
|
||
dotnet_naming_symbols.static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.static_field_style.capitalization = camel_case | ||
dotnet_naming_style.static_field_style.required_prefix = _ | ||
|
||
# Instance fields are camelCase and start with _ | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style | ||
|
||
dotnet_naming_symbols.instance_fields.applicable_kinds = field | ||
|
||
dotnet_naming_style.instance_field_style.capitalization = camel_case | ||
dotnet_naming_style.instance_field_style.required_prefix = _ | ||
|
||
# Locals and parameters are camelCase | ||
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | ||
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | ||
|
||
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | ||
|
||
dotnet_naming_style.camel_case_style.capitalization = camel_case | ||
|
||
# Local functions are PascalCase | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style | ||
|
||
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | ||
|
||
dotnet_naming_style.local_function_style.capitalization = pascal_case | ||
|
||
# By default, name items with PascalCase | ||
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members | ||
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style | ||
|
||
dotnet_naming_symbols.all_members.applicable_kinds = * | ||
|
||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
|
||
############################### | ||
# Code Quality # | ||
############################### | ||
[*.cs] | ||
dotnet_code_quality.CA1826.exclude_ordefault_methods = true | ||
|
||
############################### | ||
# C# Coding Conventions # | ||
############################### | ||
[*.cs] | ||
# var preferences | ||
csharp_style_var_for_built_in_types = true:silent | ||
csharp_style_var_when_type_is_apparent = true:silent | ||
csharp_style_var_elsewhere = true:silent | ||
# Expression-bodied members | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
# Null-checking preferences | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
# Modifier preferences | ||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | ||
# Expression-level preferences | ||
csharp_prefer_braces = true:silent | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_pattern_local_over_anonymous_function = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
|
||
############################### | ||
# C# Formatting Rules # | ||
############################### | ||
# New line preferences | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
# Indentation preferences | ||
csharp_indent_case_contents = true | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = flush_left | ||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
# Wrapping preferences | ||
csharp_preserve_single_line_statements = true | ||
csharp_preserve_single_line_blocks = true |
Oops, something went wrong.