Skip to content

Commit

Permalink
Merge pull request #728 from Humanizr/editorconfig-style
Browse files Browse the repository at this point in the history
Editorconfig style
  • Loading branch information
Oren Novotny authored Jun 30, 2018
2 parents 331f5fd + 2bbb4d8 commit 2e45bca
Show file tree
Hide file tree
Showing 179 changed files with 6,436 additions and 5,361 deletions.
159 changes: 156 additions & 3 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# EditorConfig is awesome:http://EditorConfig.org
# From https://raw.githubusercontent.com/dotnet/roslyn/master/.editorconfig

# top-most EditorConfig file
root = true
Expand All @@ -23,14 +22,28 @@ indent_size = 2
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
indent_size = 2

# Yml/Yaml files
[*.{yaml,yml}]
indent_size = 2

# JSON files
[*.json]
indent_size = 2

# Shell scripts
[*.sh]
end_of_line = lf

[*.{cmd,bat}]
end_of_line = crlf

# Dotnet code style settings:
[*.{cs,vb}]
# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true
# Put a blank line between System.* and Microsoft.*
dotnet_separate_import_directive_groups = true

# Avoid "this." and "Me." if not necessary
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
Expand All @@ -41,22 +54,130 @@ dotnet_style_qualification_for_event = false:suggestion
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion

# Prefer read-only on fields
dotnet_style_readonly_field = true:warning

# Suggest more modern language features when available
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_require_accessibility_modifiers = always
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_conditional_expression_over_return = false
dotnet_style_prefer_conditional_expression_over_assignment = false
dotnet_style_prefer_auto_properties = true

# Accessibility modifiers
dotnet_style_require_accessibility_modifiers = always:suggestion


# Naming Rules

# Interfaces start with an I and are PascalCased
dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.symbols = interface_symbols
dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.style = pascal_case_and_prefix_with_I_style
dotnet_naming_rule.interfaces_must_be_pascal_cased_and_prefixed_with_I.severity = warning

# External members are PascalCased
dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.symbols = externally_visible_symbols
dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.style = pascal_case_style
dotnet_naming_rule.externally_visible_members_must_be_pascal_cased.severity = warning

# Parameters are camelCased
dotnet_naming_rule.parameters_must_be_camel_cased.symbols = parameter_symbols
dotnet_naming_rule.parameters_must_be_camel_cased.style = camel_case_style
dotnet_naming_rule.parameters_must_be_camel_cased.severity = warning

# Constants are PascalCased
dotnet_naming_rule.constants_must_be_pascal_cased.symbols = constant_symbols
dotnet_naming_rule.constants_must_be_pascal_cased.style = pascal_case_style
dotnet_naming_rule.constants_must_be_pascal_cased.severity = warning

# Uncomment this group and comment out the next group if you prefer s_ prefixes for static fields

# Private static fields are prefixed with s_ and are camelCased like s_myStatic
#dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.symbols = private_static_field_symbols
#dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.style = camel_case_and_prefix_with_s_underscore_style
#dotnet_naming_rule.private_static_fields_must_be_camel_cased_and_prefixed_with_s_underscore.severity = warning

# Static readonly fields are PascalCased
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.symbols = private_static_readonly_field_symbols
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.severity = warning

# Comment this group and uncomment out the next group if you don't want _ prefixed fields.

# Private instance fields are camelCased with an _ like _myField
dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.symbols = private_field_symbols
dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.style = camel_case_and_prefix_with_underscore_style
dotnet_naming_rule.private_instance_fields_must_be_camel_cased_and_prefixed_with_underscore.severity = warning

# Private instance fields are camelCased
#dotnet_naming_rule.private_instance_fields_must_be_camel_cased.symbols = private_field_symbols
#dotnet_naming_rule.private_instance_fields_must_be_camel_cased.style = camel_case_style
#dotnet_naming_rule.private_instance_fields_must_be_camel_cased.severity = warning

# Symbols
dotnet_naming_symbols.externally_visible_symbols.applicable_kinds = class,struct,interface,enum,property,method,field,event,delegate
dotnet_naming_symbols.externally_visible_symbols.applicable_accessibilities = public,internal,friend,protected,protected_internal,protected_friend,private_protected

dotnet_naming_symbols.interface_symbols.applicable_kinds = interface
dotnet_naming_symbols.interface_symbols.applicable_accessibilities = *

dotnet_naming_symbols.parameter_symbols.applicable_kinds = parameter
dotnet_naming_symbols.parameter_symbols.applicable_accessibilities = *

dotnet_naming_symbols.constant_symbols.applicable_kinds = field
dotnet_naming_symbols.constant_symbols.required_modifiers = const
dotnet_naming_symbols.constant_symbols.applicable_accessibilities = *

dotnet_naming_symbols.private_static_field_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_field_symbols.required_modifiers = static,shared
dotnet_naming_symbols.private_static_field_symbols.applicable_accessibilities = private

dotnet_naming_symbols.private_static_readonly_field_symbols.applicable_kinds = field
dotnet_naming_symbols.private_static_readonly_field_symbols.required_modifiers = static,shared,readonly
dotnet_naming_symbols.private_static_readonly_field_symbols.applicable_accessibilities = private

dotnet_naming_symbols.private_field_symbols.applicable_kinds = field
dotnet_naming_symbols.private_field_symbols.applicable_accessibilities = private

# Styles
dotnet_naming_style.camel_case_style.capitalization = camel_case

dotnet_naming_style.pascal_case_style.capitalization = pascal_case

dotnet_naming_style.camel_case_and_prefix_with_s_underscore_style.required_prefix = s_
dotnet_naming_style.camel_case_and_prefix_with_s_underscore_style.capitalization = camel_case

dotnet_naming_style.camel_case_and_prefix_with_underscore_style.required_prefix = _
dotnet_naming_style.camel_case_and_prefix_with_underscore_style.capitalization = camel_case

dotnet_naming_style.pascal_case_and_prefix_with_I_style.required_prefix = I
dotnet_naming_style.pascal_case_and_prefix_with_I_style.capitalization = pascal_case


# CSharp code style settings:
[*.cs]
# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_switch_labels = true
csharp_indent_labels = flush_left

# Prefer "var" everywhere
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = true:suggestion

# Code style defaults
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true

# Prefer method-like constructs to have a block body
csharp_style_expression_bodied_methods = false:none
csharp_style_expression_bodied_constructors = false:none
Expand All @@ -67,10 +188,17 @@ csharp_style_expression_bodied_properties = true:none
csharp_style_expression_bodied_indexers = true:none
csharp_style_expression_bodied_accessors = true:none

# Suggest more modern language features when available
# Expression
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_pattern_local_over_anonymous_function = true:suggestion

# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion

# Null checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion

Expand All @@ -81,3 +209,28 @@ 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

# 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 = do_not_ignore
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
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Test*.html
Test*.xml
*.zip
nuget.exe
*.exe
*.nuget.props
*.nuget.targets

Expand Down Expand Up @@ -86,6 +86,8 @@ Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

# local tools
.store/

src/Humanizer.Tests/ApiApprover/PublicApiApprovalTest.approve_public_api.received.txt

Expand Down
7 changes: 1 addition & 6 deletions src/Humanizer.Tests.Shared/BitFieldEnumHumanizeTests.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
using Xunit;

namespace Humanizer.Tests
{
Expand Down
5 changes: 0 additions & 5 deletions src/Humanizer.Tests.Shared/BitFieldEnumUnderTest.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Humanizer.Tests
{
Expand Down
4 changes: 2 additions & 2 deletions src/Humanizer.Tests.Shared/Bytes/ComparingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public void CompareUntyped(double value, double valueToCompareWith, int expected
}

[Theory]
[InlineData(new[] { "1GB", "3KB", "5MB" }, new[] { "3KB", "5MB", "1GB"})]
[InlineData(new[] { "1MB", "3KB", "5MB" }, new[] { "3KB", "1MB", "5MB"})]
[InlineData(new[] { "1GB", "3KB", "5MB" }, new[] { "3KB", "5MB", "1GB" })]
[InlineData(new[] { "1MB", "3KB", "5MB" }, new[] { "3KB", "1MB", "5MB" })]
public void SortList(IEnumerable<string> values, IEnumerable<string> expected)
{
var list = values.Select(ByteSize.Parse).ToList();
Expand Down
2 changes: 1 addition & 1 deletion src/Humanizer.Tests.Shared/Bytes/CreatingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class CreatingTests
public void Constructor()
{
var result = new ByteSize(1099511627776);

Assert.Equal(8.796093022208e12, result.Bits);
Assert.Equal(1099511627776, result.Bytes);
Assert.Equal(1073741824, result.Kilobytes);
Expand Down
2 changes: 1 addition & 1 deletion src/Humanizer.Tests.Shared/CollectionHumanizeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void HumanizeHandlesNullItemsWithoutAnException()
[Fact]
public void HumanizeHandlesNullStringDisplayFormatterReturnsWithoutAnException()
{
Assert.Null(Record.Exception(() => new[] { "A", "B", "C" }.Humanize(_ => (string)null)));
Assert.Null(Record.Exception(() => new[] { "A", "B", "C" }.Humanize(_ => null)));
}

[Fact]
Expand Down
19 changes: 13 additions & 6 deletions src/Humanizer.Tests.Shared/DateHumanize.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ namespace Humanizer.Tests
{
public class DateHumanize
{
readonly static object LockObject = new object();
static void VerifyWithCurrentDate(string expectedString, TimeSpan deltaFromNow, CultureInfo culture)
private static readonly object LockObject = new object();

private static void VerifyWithCurrentDate(string expectedString, TimeSpan deltaFromNow, CultureInfo culture)
{
var utcNow = DateTime.UtcNow;
var localNow = DateTime.Now;
Expand All @@ -19,15 +20,15 @@ static void VerifyWithCurrentDate(string expectedString, TimeSpan deltaFromNow,
VerifyWithDate(expectedString, deltaFromNow, culture, localNow, utcNow);
}

static void VerifyWithDateInjection(string expectedString, TimeSpan deltaFromNow, CultureInfo culture)
private static void VerifyWithDateInjection(string expectedString, TimeSpan deltaFromNow, CultureInfo culture)
{
var utcNow = new DateTime(2013, 6, 20, 9, 58, 22, DateTimeKind.Utc);
var now = new DateTime(2013, 6, 20, 11, 58, 22, DateTimeKind.Local);

VerifyWithDate(expectedString, deltaFromNow, culture, now, utcNow);
}

static void VerifyWithDate(string expectedString, TimeSpan deltaFromBase, CultureInfo culture, DateTime baseDate, DateTime baseDateUtc)
private static void VerifyWithDate(string expectedString, TimeSpan deltaFromBase, CultureInfo culture, DateTime baseDate, DateTime baseDateUtc)
{
Assert.Equal(expectedString, baseDateUtc.Add(deltaFromBase).Humanize(utcDate: true, dateToCompareAgainst: baseDateUtc, culture: culture));
Assert.Equal(expectedString, baseDate.Add(deltaFromBase).Humanize(false, baseDate, culture: culture));
Expand All @@ -39,15 +40,21 @@ public static void Verify(string expectedString, int unit, TimeUnit timeUnit, Te
lock (LockObject)
{
if (precision.HasValue)
{
Configurator.DateTimeHumanizeStrategy = new PrecisionDateTimeHumanizeStrategy(precision.Value);
}
else
{
Configurator.DateTimeHumanizeStrategy = new DefaultDateTimeHumanizeStrategy();
}

var deltaFromNow = new TimeSpan();
unit = Math.Abs(unit);

if (tense == Tense.Past)
{
unit = -unit;
}

switch (timeUnit)
{
Expand All @@ -67,10 +74,10 @@ public static void Verify(string expectedString, int unit, TimeUnit timeUnit, Te
deltaFromNow = TimeSpan.FromDays(unit);
break;
case TimeUnit.Month:
deltaFromNow = TimeSpan.FromDays(unit*31);
deltaFromNow = TimeSpan.FromDays(unit * 31);
break;
case TimeUnit.Year:
deltaFromNow = TimeSpan.FromDays(unit*366);
deltaFromNow = TimeSpan.FromDays(unit * 366);
break;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Globalization;
using System;
using System.Globalization;
using Humanizer.Localisation;
using Xunit;
using System;

namespace Humanizer.Tests
{
Expand Down
3 changes: 0 additions & 3 deletions src/Humanizer.Tests.Shared/DateTimeOffsetHumanizeTests.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Humanizer.Configuration;
using Humanizer.DateTimeHumanizeStrategy;
using Xunit;
Expand Down
6 changes: 3 additions & 3 deletions src/Humanizer.Tests.Shared/DehumanizeToEnumTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public void HonorsLocalizedDisplayAttribute()
Assert.Equal(EnumUnderTest.MemberWithLocalizedDisplayAttribute, EnumTestsResources.MemberWithLocalizedDisplayAttribute.DehumanizeTo(typeof(EnumUnderTest)));
}

struct DummyStructWithEnumInterfaces : IComparable, IFormattable
private struct DummyStructWithEnumInterfaces : IComparable, IFormattable
{
public int CompareTo(object obj)
{
Expand Down Expand Up @@ -185,13 +185,13 @@ public object ToType(Type conversionType, IFormatProvider provider)
}
}

enum DummyEnum
private enum DummyEnum
{
First,
Second
}
}



}
Loading

0 comments on commit 2e45bca

Please sign in to comment.