mfgames-project-setup-flake/src/configs/editorconfig.nix

209 lines
9.6 KiB
Nix

inputs @ { pkgs, ... }:
let
data = {
root = true;
"*" = {
end_of_line = "lf";
insert_final_newline = true;
trim_trailing_whitespace = true;
charset = "utf-8";
indent_style = "space";
indent_size = 4;
indent_brace_style = "K&R";
max_line_length = 80;
tab_width = 4;
curly_bracket_next_line = true;
}
// pkgs.lib.attrsets.optionalAttrs inputs.dotnet.enable {
csharp_new_line_before_members_in_object_initializers = false;
csharp_preferred_modifier_order = "public, override, protected, internal, file, new, virtual, abstract, private, sealed, readonly, static, extern, unsafe, volatile, async, required:suggestion";
csharp_preserve_single_line_blocks = true;
csharp_preserve_single_line_statements = false;
csharp_space_after_cast = false;
csharp_style_var_elsewhere = "false:hint";
csharp_style_var_for_built_in_types = "false:hint";
csharp_style_var_when_type_is_apparent = "true:hint";
dotnet_style_predefined_type_for_locals_parameters_members = "true:hint";
dotnet_style_predefined_type_for_member_access = "true:hint";
dotnet_style_qualification_for_event = "true:hint";
dotnet_style_qualification_for_field = "true:hint";
dotnet_style_qualification_for_method = "true:hint";
dotnet_style_qualification_for_property = "true:hint";
dotnet_style_require_accessibility_modifiers = "for_non_interface_members:hint";
resharper_alignment_tab_fill_style = "optimal_fill";
resharper_apply_on_completion = true;
resharper_blank_lines_after_control_transfer_statements = 1;
resharper_blank_lines_around_single_line_auto_property = 1;
resharper_blank_lines_around_single_line_property = 1;
resharper_blank_lines_before_block_statements = 1;
resharper_blank_lines_before_control_transfer_statements = 1;
resharper_blank_lines_before_single_line_comment = 1;
resharper_blank_lines_between_using_groups = 1;
resharper_braces_for_for = "required";
resharper_braces_for_foreach = "required";
resharper_braces_for_ifelse = "required";
resharper_braces_for_while = "required";
resharper_can_use_global_alias = false;
resharper_check_namespace_highlighting = "none";
resharper_convert_to_auto_property_highlighting = "none";
resharper_csharp_blank_lines_around_single_line_field = 1;
resharper_csharp_blank_lines_around_single_line_invocable = 1;
resharper_csharp_empty_block_style = "together_same_line";
resharper_csharp_indent_style = "tab";
resharper_csharp_insert_final_newline = true;
resharper_csharp_keep_blank_lines_in_code = 1;
resharper_csharp_keep_blank_lines_in_declarations = 1;
resharper_csharp_max_line_length = 100;
resharper_csharp_new_line_before_while = true;
resharper_csharp_use_indent_invocation_rpar = true;
resharper_csharp_wrap_extends_list_style = "chop_if_long";
resharper_csharp_wrap_parameters_style = "chop_if_long";
resharper_css_insert_final_newline = false;
resharper_enforce_line_ending_style = true;
resharper_html_insert_final_newline = false;
resharper_indent_nested_fixed_stmt = true;
resharper_js_indent_style = "spaces";
resharper_js_insert_final_newline = true;
resharper_js_keep_blank_lines_in_code = 1;
resharper_js_stick_comment = false;
resharper_js_use_indent_from_vs = false;
resharper_js_wrap_before_binary_opsign = true;
resharper_js_wrap_chained_method_calls = "chop_if_long";
resharper_keep_blank_lines_between_declarations = 1;
resharper_localizable_element_highlighting = "none";
resharper_min_blank_lines_after_imports = 1;
resharper_place_attribute_on_same_line = false;
resharper_place_constructor_initializer_on_same_line = false;
resharper_place_expr_property_on_single_line = true;
resharper_place_simple_initializer_on_single_line = false;
resharper_place_type_constraints_on_same_line = false;
resharper_protobuf_insert_final_newline = false;
resharper_qualified_using_at_nested_scope = true;
resharper_redundant_comma_in_attribute_list_highlighting = "none";
resharper_redundant_comma_in_enum_declaration_highlighting = "none";
resharper_redundant_comma_in_initializer_highlighting = "none";
resharper_resx_insert_final_newline = false;
resharper_space_within_single_line_array_initializer_braces = true;
resharper_string_compare_to_is_culture_specific_highlighting = "none";
resharper_string_index_of_is_culture_specific_1_highlighting = "none";
resharper_use_indents_from_main_language_in_file = false;
resharper_use_null_propagation_highlighting = "none";
resharper_use_object_or_collection_initializer_highlighting = "hint";
resharper_use_string_interpolation_highlighting = "hint";
resharper_vb_insert_final_newline = false;
resharper_wrap_after_declaration_lpar = true;
resharper_wrap_after_invocation_lpar = true;
resharper_wrap_before_extends_colon = true;
resharper_wrap_before_first_type_parameter_constraint = true;
resharper_wrap_before_type_parameter_langle = true;
resharper_xml_insert_final_newline = false;
resharper_xmldoc_indent_child_elements = "ZeroIndent";
resharper_xmldoc_indent_text = "ZeroIndent";
resharper_xmldoc_insert_final_newline = false;
#}
#// pkgs.lib.attrsets.optionalAttrs inputs.dotnet.format {
# # csharpier settings
# # https://csharpier.com/docs/IntegratingWithLinters
# "dotnet_diagnostic.IDE0055.severity" = "none";
# "dotnet_diagnostic.SA1000.severity" = "none";
# "dotnet_diagnostic.SA1009.severity" = "none";
# "dotnet_diagnostic.SA1111.severity" = "none";
# "dotnet_diagnostic.SA1118.severity" = "none";
# "dotnet_diagnostic.SA1137.severity" = "none";
# "dotnet_diagnostic.SA1413.severity" = "none";
# "dotnet_diagnostic.SA1500.severity" = "none";
# "dotnet_diagnostic.SA1501.severity" = "none";
# "dotnet_diagnostic.SA1502.severity" = "none";
# "dotnet_diagnostic.SA1504.severity" = "none";
# "dotnet_diagnostic.SA1516.severity" = "none";
# "dotnet_diagnostic.SA1001.severity" = "none";
# "dotnet_diagnostic.SA1002.severity" = "none";
# "dotnet_diagnostic.SA1003.severity" = "none";
# "dotnet_diagnostic.SA1007.severity" = "none";
# "dotnet_diagnostic.SA1008.severity" = "none";
# "dotnet_diagnostic.SA1010.severity" = "none";
# "dotnet_diagnostic.SA1011.severity" = "none";
# "dotnet_diagnostic.SA1012.severity" = "none";
# "dotnet_diagnostic.SA1013.severity" = "none";
# "dotnet_diagnostic.SA1014.severity" = "none";
# "dotnet_diagnostic.SA1015.severity" = "none";
# "dotnet_diagnostic.SA1016.severity" = "none";
# "dotnet_diagnostic.SA1017.severity" = "none";
# "dotnet_diagnostic.SA1018.severity" = "none";
# "dotnet_diagnostic.SA1019.severity" = "none";
# "dotnet_diagnostic.SA1020.severity" = "none";
# "dotnet_diagnostic.SA1021.severity" = "none";
# "dotnet_diagnostic.SA1022.severity" = "none";
# "dotnet_diagnostic.SA1023.severity" = "none";
# "dotnet_diagnostic.SA1024.severity" = "none";
# "dotnet_diagnostic.SA1025.severity" = "none";
# "dotnet_diagnostic.SA1026.severity" = "none";
# "dotnet_diagnostic.SA1027.severity" = "none";
# "dotnet_diagnostic.SA1028.severity" = "none";
# "dotnet_diagnostic.SA1102.severity" = "none";
# "dotnet_diagnostic.SA1103.severity" = "none";
# "dotnet_diagnostic.SA1104.severity" = "none";
# "dotnet_diagnostic.SA1105.severity" = "none";
# "dotnet_diagnostic.SA1107.severity" = "none";
# "dotnet_diagnostic.SA1110.severity" = "none";
# "dotnet_diagnostic.SA1112.severity" = "none";
# "dotnet_diagnostic.SA1113.severity" = "none";
# "dotnet_diagnostic.SA1114.severity" = "none";
# "dotnet_diagnostic.SA1115.severity" = "none";
# "dotnet_diagnostic.SA1116.severity" = "none";
# "dotnet_diagnostic.SA1117.severity" = "none";
# "dotnet_diagnostic.SA1127.severity" = "none";
# "dotnet_diagnostic.SA1128.severity" = "none";
# "dotnet_diagnostic.SA1136.severity" = "none";
# "dotnet_diagnostic.SA1505.severity" = "none";
# "dotnet_diagnostic.SA1506.severity" = "none";
# "dotnet_diagnostic.SA1507.severity" = "none";
# "dotnet_diagnostic.SA1508.severity" = "none";
# "dotnet_diagnostic.SA1509.severity" = "none";
# "dotnet_diagnostic.SA1510.severity" = "none";
# "dotnet_diagnostic.SA1511.severity" = "none";
# "dotnet_diagnostic.SA1517.severity" = "none";
# "dotnet_diagnostic.SA1518.severity" = "none";
};
"*.md" = {
max_line_length = "off";
};
"package.json" = {
indent_style = "space";
indent_size = 2;
tab_width = 2;
};
"{LICENSES/**,LICENSE}" = {
end_of_line = "unset";
insert_final_newline = "unset";
trim_trailing_whitespace = "unset";
charset = "unset";
indent_style = "unset";
indent_size = "unset";
};
}
// pkgs.lib.attrsets.optionalAttrs inputs.dotnet.enable {
"*.{appxmanifest,build,config,csproj,dbml,discomap,dtd,jsproj,lsproj,njsproj,nuspec,proj,props,resw,resx,StyleCop,targets,tasks,vbproj,xml,xsd}]" = {
indent_size = 2;
indent_style = "space";
tab_width = 2;
};
"*.cs" = {
indent_style = "space";
indent_size = 4;
tab_width = 4;
};
};
in
{
inherit data;
hook.mode = "copy";
output = ".editorconfig";
format = "toml";
}