diff --git a/src/.editorconfig b/src/.editorconfig index 0e276be..7868c26 100644 --- a/src/.editorconfig +++ b/src/.editorconfig @@ -1,5 +1,8 @@ # editorconfig.org +# top-most EditorConfig file +root = true + # Default settings: # A newline ending every file # Use 4 spaces as indentation @@ -11,127 +14,111 @@ indent_size = 4 insert_final_newline = false trim_trailing_whitespace = true +# C# files +[*.cs] +# 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 -# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-language-conventions?view=vs-2019 -# CA1822: Mark members as static -dotnet_diagnostic.CA1822.severity = silent -# CA1815: Override equals and operator equals on value types -dotnet_diagnostic.CA1815.severity = silent +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_switch_labels = true +csharp_indent_labels = one_less_than_current -# VB and C# files -[*.{vb,cs}] # avoid this. unless absolutely necessary -dotnet_style_qualification_for_field = false : suggestion -dotnet_style_qualification_for_property = false : suggestion -dotnet_style_qualification_for_method = false : suggestion -dotnet_style_qualification_for_event = false : suggestion +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_event = false:suggestion + +# only use var when it's obvious what the variable type is +csharp_style_var_for_built_in_types = true:none +csharp_style_var_when_type_is_apparent = true:none +csharp_style_var_elsewhere = true:suggestion # use language keywords instead of BCL types -dotnet_style_predefined_type_for_locals_parameters_members = true : suggestion -dotnet_style_predefined_type_for_member_access = true : suggestion +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion -# Use camel_case for or internal constant fields -dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields -dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style +# Use camel_case for private or internal constant fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style -dotnet_naming_symbols.constant_fields.applicable_kinds = field -dotnet_naming_symbols.constant_fields.required_modifiers = const +dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.required_modifiers = const -dotnet_naming_style.pascal_case_style.capitalization = pascal_case +dotnet_naming_style.pascal_case_style.capitalization = pascal_case # Comment this group and uncomment out the next group if you don't want _ prefixed fields. -# internal and fields should be _camelCase -dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion -dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields -dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style +# internal and private fields should be _camel_case +dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion +dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields +dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style -dotnet_naming_symbols.private_internal_fields.applicable_kinds = field +dotnet_naming_symbols.private_internal_fields.applicable_kinds = field dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal -dotnet_naming_style.camel_case_underscore_style.required_prefix = _ -dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case - -# Public members must be capitalized - -dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols -dotnet_naming_symbols.public_symbols.applicable_kinds = property,method,field,event,delegate -dotnet_naming_symbols.public_symbols.applicable_accessibilities = public - -dotnet_naming_rule.public_members_must_be_capitalized.style = first_word_upper_case_style -dotnet_naming_style.first_word_upper_case_style.capitalization = first_word_upper - -dotnet_naming_rule.public_members_must_be_capitalized.severity = suggestion +dotnet_naming_style.camel_case_underscore_style.required_prefix = _ +dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case # Code style defaults -dotnet_sort_system_directives_first = true -csharp_preserve_single_line_blocks = true -csharp_preserve_single_line_statements = false +dotnet_sort_system_directives_first = true +csharp_preserve_single_line_blocks = true +csharp_preserve_single_line_statements = false # Expression-level preferences -dotnet_style_object_initializer = true : suggestion -dotnet_style_collection_initializer = true : suggestion -dotnet_style_explicit_tuple_names = true : suggestion -dotnet_style_coalesce_expression = true : suggestion -dotnet_style_null_propagation = true : suggestion +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_null_propagation = true:suggestion -[*.cs] -# 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_block_contents = true -csharp_indent_braces = false -csharp_indent_case_contents = true -csharp_indent_switch_labels = true -csharp_indent_labels = one_less_than_current - -# only use var when it's obvious what the variable type is -csharp_style_var_for_built_in_types = true : none -csharp_style_var_when_type_is_apparent = true : none -csharp_style_var_elsewhere = true : suggestion - -# Code style defaults -dotnet_sort_system_directives_first = true -csharp_preserve_single_line_blocks = true -csharp_preserve_single_line_statements = false +# Expression-bodied members +csharp_style_expression_bodied_methods = false:none +csharp_style_expression_bodied_constructors = false:none +csharp_style_expression_bodied_operators = false:none +csharp_style_expression_bodied_properties = true:none +csharp_style_expression_bodied_indexers = true:none +csharp_style_expression_bodied_accessors = true:none # 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 +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 : warning -csharp_style_conditional_delegate_call = true : warning +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion # 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_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 +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 diff --git a/src/NuGet.Config b/src/NuGet.Config deleted file mode 100644 index 3f0e003..0000000 --- a/src/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/Tomas.Kernel/EasterEggs.cs b/src/Tomas.Kernel/EasterEggs.cs index 11200ca..16bcf2a 100644 --- a/src/Tomas.Kernel/EasterEggs.cs +++ b/src/Tomas.Kernel/EasterEggs.cs @@ -1,15 +1,15 @@ -// TOMAS is licensed under the MPL 2.0 license. +// TOMAS is licensed under the MPL 2.0 license. // See the LICENSE file in the project root for more information. using System; namespace Tomas.Kernel { - internal class EasterEggs - { - /// - /// Fennec art by Todd Vargo - /// - const string FENNEC = @" \/ + internal class EasterEggs + { + /// + /// Fennec art by Todd Vargo + /// + const string FENNEC = @" \/ /\ /\ //\\_//\\ ____ \_ _/ / / @@ -20,16 +20,16 @@ namespace Tomas.Kernel [ [ / \/ _/ _[ [ \ /_/"; - static readonly string[] _fenPhrases = { "Screams in fennec!", "Some people call me a coffee fox." }; + static readonly string[] _fenPhrases = { "Screams in fennec!", "Some people call me a coffee fox." }; - public static string FenSay - { - get - { - var rng = new Random(); - var phrases = _fenPhrases[rng.Next(0, _fenPhrases.Length)]; - return $"{phrases}{Environment.NewLine}{FENNEC}"; - } - } - } + public static string FenSay + { + get + { + var rng = new Random(); + var phrases = _fenPhrases[rng.Next(0, _fenPhrases.Length)]; + return $"{phrases}{Environment.NewLine}{FENNEC}"; + } + } + } } diff --git a/src/Tomas.Kernel/OSConsts.cs b/src/Tomas.Kernel/OSConsts.cs index d1a1813..74266fa 100644 --- a/src/Tomas.Kernel/OSConsts.cs +++ b/src/Tomas.Kernel/OSConsts.cs @@ -1,15 +1,15 @@ -// TOMAS is licensed under the MPL 2.0 license. +// TOMAS is licensed under the MPL 2.0 license. // See the LICENSE file in the project root for more information. namespace Tomas.Kernel { - public struct OSConsts - { - /// - /// Name of the operating system - /// - public const string NAME = "TOMAS"; + public struct OSConsts + { + /// + /// Name of the operating system + /// + public const string NAME = "TOMAS"; - public static string Version = $"{ThisAssembly.Git.SemVer.Major}.{ThisAssembly.Git.SemVer.Minor}.{ThisAssembly.Git.SemVer.Patch}"; - public static string VersionGit = $"{Version}-{ThisAssembly.Git.Commit}"; - } + public static string Version = $"{ThisAssembly.Git.SemVer.Major}.{ThisAssembly.Git.SemVer.Minor}.{ThisAssembly.Git.SemVer.Patch}"; + public static string VersionGit = $"{Version}-{ThisAssembly.Git.Commit}"; + } } diff --git a/src/Tomas.Kernel/Programs/AboutApp.cs b/src/Tomas.Kernel/Programs/AboutApp.cs index 5af60b7..efbe0c3 100644 --- a/src/Tomas.Kernel/Programs/AboutApp.cs +++ b/src/Tomas.Kernel/Programs/AboutApp.cs @@ -1,21 +1,21 @@ -// TOMAS is licensed under the MPL 2.0 license. +// TOMAS is licensed under the MPL 2.0 license. // See the LICENSE file in the project root for more information. using System; namespace Tomas.Kernel.Programs { - class AboutApp : App - { - public AboutApp(Kernel system) : base(system) - { - } + class AboutApp : App + { + public AboutApp(Kernel system) : base(system) + { + } - public override void Start() - { - Console.WriteLine($"{OSConsts.NAME} v{OSConsts.VersionGit}"); - Console.WriteLine("TOMAS, an abbreviation of Tony's Managed Operating System, is a operating system written in C# using the COSMOS framework."); + public override void Start() + { + Console.WriteLine($"{OSConsts.NAME} v{OSConsts.VersionGit}"); + Console.WriteLine("TOMAS, an abbreviation of Tony's Managed Operating System, is a operating system written in C# using the COSMOS framework."); - base.Start(); - } - } + base.Start(); + } + } } diff --git a/src/Tomas.Kernel/Programs/App.cs b/src/Tomas.Kernel/Programs/App.cs index 0d8e2ea..ca25c58 100644 --- a/src/Tomas.Kernel/Programs/App.cs +++ b/src/Tomas.Kernel/Programs/App.cs @@ -1,30 +1,30 @@ -// TOMAS is licensed under the MPL 2.0 license. +// TOMAS is licensed under the MPL 2.0 license. // See the LICENSE file in the project root for more information. using sys = Cosmos.System; namespace Tomas.Kernel.Programs { - /// - /// Basic framework for building terminal applications. - /// - public abstract class App - { - protected App(Kernel system) - { - System = system; - } + /// + /// Basic framework for building terminal applications. + /// + public abstract class App + { + protected App(Kernel system) + { + System = system; + } - Kernel System { get; set; } + Kernel System { get; set; } - /// - /// Main entry point of the program - /// - public virtual void Start() - { - System.InApp = true; - var isCKey = sys.KeyboardManager.ReadKey().Key == sys.ConsoleKeyEx.C; - if (sys.KeyboardManager.ControlPressed && isCKey) - System.Restart(); - } - } + /// + /// Main entry point of the program + /// + public virtual void Start() + { + System.InApp = true; + var isCKey = sys.KeyboardManager.ReadKey().Key == sys.ConsoleKeyEx.C; + if (sys.KeyboardManager.ControlPressed && isCKey) + System.Restart(); + } + } }