From 2b304bea049b2cdf60523189dbd292de4f2c9085 Mon Sep 17 00:00:00 2001 From: Osip Fatkullin Date: Mon, 8 Jul 2024 19:03:43 +0200 Subject: [PATCH] style: Update .editorconfig --- .editorconfig | 187 +++++++++++++++++++++++++++++++------------------- 1 file changed, 117 insertions(+), 70 deletions(-) diff --git a/.editorconfig b/.editorconfig index 6612cab..0e5e28c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,3 +1,4 @@ +# Source: https://gist.github.com/osipxd/9a786496634a1ef0ea622c9805601490 root = true [*] @@ -10,60 +11,89 @@ trim_trailing_whitespace = true max_line_length = 120 ij_visual_guides = 100 -## General +# General ij_continuation_indent_size = 8 ij_smart_tabs = false ij_wrap_on_typing = false ij_any_keep_indents_on_empty_lines = false -## Formatter Control +# Formatter ij_formatter_tags_enabled = true ij_formatter_on_tag = @formatter:on ij_formatter_off_tag = @formatter:off -[{*.kt, *.kts}] -ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL -ij_continuation_indent_size = 4 # To match ktlint settings -ij_kotlin_keep_indents_on_empty_lines = false +[{*.kt,*.kts}] +# Tabs and Indents +# continuation_indent_size = 4 to match ktlint settings +ij_kotlin_continuation_indent_size = 4 +ij_kotlin_keep_indents_on_empty_lines = unset + +# Spaces +## Before parentheses +ij_kotlin_space_before_if_parentheses = true +ij_kotlin_space_before_for_parentheses = true +ij_kotlin_space_before_while_parentheses = true +ij_kotlin_space_before_catch_parentheses = true +ij_kotlin_space_before_when_parentheses = true +## Around operators +ij_kotlin_spaces_around_assignment_operators = true +ij_kotlin_spaces_around_logical_operators = true +ij_kotlin_spaces_around_equality_operators = true +ij_kotlin_spaces_around_relational_operators = true +ij_kotlin_spaces_around_additive_operators = true +ij_kotlin_spaces_around_multiplicative_operators = true +ij_kotlin_spaces_around_unary_operator = false +ij_kotlin_spaces_around_range = false +## Other +ij_kotlin_space_before_comma = false +ij_kotlin_space_after_comma = true +ij_kotlin_space_before_type_colon = false +ij_kotlin_space_after_type_colon = true +ij_kotlin_space_before_extend_colon = true +ij_kotlin_space_after_extend_colon = true +ij_kotlin_insert_whitespaces_in_simple_one_line_method = true +ij_kotlin_spaces_around_function_type_arrow = true +ij_kotlin_spaces_around_when_arrow = true +ij_kotlin_space_before_lambda_arrow = true -## Wrapping and Braces -# Keep when reformatting +# Wrapping and Braces +## Keep when reformatting ij_kotlin_keep_line_breaks = true ij_kotlin_keep_first_column_comment = true -# Extends/implements list +## Extends/implements list ij_kotlin_extends_list_wrap = normal ij_kotlin_align_multiline_extends_list = false ij_kotlin_continuation_indent_in_supertype_lists = false -# Function declaration parameters +## Function declaration parameters ij_kotlin_method_parameters_wrap = on_every_item ij_kotlin_align_multiline_parameters = true ij_kotlin_method_parameters_new_line_after_left_paren = true ij_kotlin_method_parameters_right_paren_on_new_line = true ij_kotlin_continuation_indent_in_parameter_lists = false -# Function call arguments +## Function call arguments ij_kotlin_call_parameters_wrap = on_every_item ij_kotlin_align_multiline_parameters_in_calls = false ij_kotlin_call_parameters_new_line_after_left_paren = true ij_kotlin_call_parameters_right_paren_on_new_line = true ij_kotlin_continuation_indent_in_argument_lists = false -# Function parentheses +## Function parentheses ij_kotlin_align_multiline_method_parentheses = false -# Chained function calls +## Chained function calls ij_kotlin_method_call_chain_wrap = normal ij_kotlin_wrap_first_method_in_call_chain = false ij_kotlin_continuation_indent_for_chained_calls = false -# 'if()' statement +## 'if()' statement ij_kotlin_else_on_new_line = false ij_kotlin_if_rparen_on_new_line = true ij_kotlin_continuation_indent_in_if_conditions = false -# 'do ... while()' statement +## 'do ... while()' statement ij_kotlin_while_on_new_line = false -# 'try' statement +## 'try' statement ij_kotlin_catch_on_new_line = false ij_kotlin_finally_on_new_line = false -# Binary expressions +## Binary expressions ij_kotlin_align_multiline_binary_operation = false -# Wraps +## Wraps ij_kotlin_assignment_wrap = normal ij_kotlin_enum_constants_wrap = off ij_kotlin_class_annotation_wrap = split_into_lines @@ -71,75 +101,63 @@ ij_kotlin_method_annotation_wrap = split_into_lines ij_kotlin_field_annotation_wrap = split_into_lines ij_kotlin_parameter_annotation_wrap = off ij_kotlin_variable_annotation_wrap = off -# 'when' statements +## 'when' statements ij_kotlin_align_in_columns_case_branch = false -# Braces placement +ij_kotlin_line_break_after_multiline_when_entry = true +## Braces placement ij_kotlin_lbrace_on_next_line = false -# Expression body functions +## Expression body functions ij_kotlin_wrap_expression_body_functions = 1 ij_kotlin_continuation_indent_for_expression_bodies = false -# Elvis expressions +## Elvis expressions ij_kotlin_wrap_elvis_expressions = 1 ij_kotlin_continuation_indent_in_elvis = false -## Spaces -# Before Parentheses -ij_kotlin_space_before_if_parentheses = true -ij_kotlin_space_before_for_parentheses = true -ij_kotlin_space_before_while_parentheses = true -ij_kotlin_space_before_catch_parentheses = true -ij_kotlin_space_before_when_parentheses = true -# Around Operators -ij_kotlin_spaces_around_assignment_operators = true -ij_kotlin_spaces_around_logical_operators = true -ij_kotlin_spaces_around_equality_operators = true -ij_kotlin_spaces_around_relational_operators = true -ij_kotlin_spaces_around_additive_operators = true -ij_kotlin_spaces_around_multiplicative_operators = true -ij_kotlin_spaces_around_unary_operator = false -ij_kotlin_spaces_around_range = false -# Other -ij_kotlin_space_before_comma = false -ij_kotlin_space_after_comma = true -ij_kotlin_space_before_type_colon = false -ij_kotlin_space_after_type_colon = true -ij_kotlin_space_after_extend_colon = true -ij_kotlin_space_before_extend_colon = true -ij_kotlin_insert_whitespaces_in_simple_one_line_method = true -ij_kotlin_spaces_around_function_type_arrow = true -ij_kotlin_spaces_around_when_arrow = true -ij_kotlin_space_before_lambda_arrow = true - -## Blank Lines -# Keep Maximum Blank Lines +# Blank Lines +## Keep maximum blank lines ij_kotlin_keep_blank_lines_in_declarations = 1 ij_kotlin_keep_blank_lines_in_code = 1 ij_kotlin_keep_blank_lines_before_right_brace = 0 -# Minimum Blank Lines +## Minimum blank lines ij_kotlin_blank_lines_after_class_header = 0 ij_kotlin_blank_lines_around_block_when_branches = 1 ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1 -## Imports +# Imports ij_kotlin_name_count_to_use_star_import = 5 ij_kotlin_name_count_to_use_star_import_for_members = 3 ij_kotlin_import_nested_classes = false -ij_kotlin_packages_to_use_import_on_demand = java.util.*, kotlinx.android.synthetic.**, io.ktor.** -ij_kotlin_imports_layout = *, java.**, javax.**, kotlin.**, ^ +ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.** +ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^ -## Other +# Other +## Trailing comma ij_kotlin_allow_trailing_comma = true -ij_kotlin_allow_trailing_comma_on_call_site = true +ij_kotlin_allow_trailing_comma_on_call_site = false -## Code generation +# Code generation +## Comment code ij_kotlin_line_comment_at_first_column = true ij_kotlin_line_comment_add_space = false +ij_kotlin_line_comment_add_space_on_reformat = false ij_kotlin_block_comment_at_first_column = true +ij_kotlin_block_comment_add_space = false -[**/res/**.xml] -ij_continuation_indent_size = 4 +# Load/Save +ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL -## Other +[*.kts] +# Always use wildcard imports in scripts +ij_kotlin_name_count_to_use_star_import = 2 + +# EditorConfig can not set some of XML code style options. +# Remember to set default Android XML code style: Editor > Code Style > XML > Set from... -> Android +[{**/res/**.xml,**/AndroidManifest.xml}] +# Tabs and Indents +ij_xml_continuation_indent_size = 4 +ij_xml_keep_indents_on_empty_lines = unset + +# Other ij_xml_keep_line_breaks = false ij_xml_keep_line_breaks_in_text = true ij_xml_keep_blank_lines = 2 @@ -148,31 +166,60 @@ ij_xml_text_wrap = normal ij_xml_align_text = false ij_xml_align_attributes = false ij_xml_keep_whitespaces = false -# Spaces +## Spaces ij_xml_space_around_equals_in_attribute = false ij_xml_space_after_tag_name = false ij_xml_space_inside_empty_tag = true -# CDATA +## CDATA ij_xml_keep_whitespaces_around_cdata = preserve ij_xml_keep_whitespaces_inside_cdata = false -## Code Generation +# Code Generation ij_xml_line_comment_at_first_column = true ij_xml_block_comment_at_first_column = true +ij_xml_block_comment_add_space = false -## Android +# Android ij_xml_use_custom_settings = true [*.md] trim_trailing_whitespace = false -[{*.yaml, *.yml}] +# Wrapping and Braces +ij_markdown_wrap_text_if_long = false +ij_markdown_wrap_text_inside_blockquotes = false +## When reformatting +ij_markdown_keep_line_breaks_inside_text_blocks = true +ij_markdown_insert_quote_arrows_on_wrap = true +ij_markdown_format_tables = true + +# Tabs and Indents +ij_markdown_keep_indents_on_empty_lines = unset + +# Blank Lines +## Keep maximum blank lines +ij_markdown_max_lines_around_header = 1 +ij_markdown_max_lines_around_block_elements = 1 +ij_markdown_max_lines_between_paragraphs = 1 +## Minimum blank lines +ij_markdown_min_lines_around_header = 1 +ij_markdown_min_lines_around_block_elements = 1 +ij_markdown_min_lines_between_paragraphs = 1 + +# Spaces +## Force one space +ij_markdown_force_one_space_between_words = true +ij_markdown_force_one_space_after_header_symbol = true +ij_markdown_force_one_space_after_list_bullet = true +ij_markdown_force_one_space_after_blockquote_symbol = true + +[{*.yaml,*.yml}] indent_size = 2 -ij_yaml_spaces_within_brackets = false -ij_yaml_keep_indents_on_empty_lines = false +ij_yaml_keep_indents_on_empty_lines = unset ij_yaml_keep_line_breaks = true +ij_yaml_spaces_within_brackets = false -[{*.bash, *.sh, *.zsh}] +[{*.bash,*.sh,*.zsh}] indent_size = 2 tab_width = 2