# editorconfig.org

root = true

[*]
# Unix style files
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
tab_width = 4

[*.{java,py}]
indent_style = tab

[*.{kt,kts}]
indent_style = space
indent_size = 4

# disable Ktlint rules that are too strict for this project
ktlint_standard_annotation = disabled
ktlint_standard_argument-list-wrapping = disabled
ktlint_standard_backing-property-naming = disabled
ktlint_standard_binary-expression-wrapping = disabled
ktlint_standard_blank-line-before-declaration = disabled
ktlint_standard_blank-line-between-when-conditions = disabled
ktlint_standard_chain-method-continuation = disabled
ktlint_standard_chain-wrapping = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_condition-wrapping = disabled
ktlint_standard_function-literal = disabled
ktlint_standard_function-naming = disabled
ktlint_standard_function-signature = disabled
ktlint_standard_if-else-wrapping = disabled
ktlint_standard_indent = disabled
ktlint_standard_max-line-length = disabled
ktlint_standard_multiline-expression-wrapping = disabled
ktlint_standard_multiline-if-else = disabled
ktlint_standard_no-blank-line-in-list = disabled
ktlint_standard_no-consecutive-comments = disabled
ktlint_standard_no-empty-first-line-in-class-body = disabled
ktlint_standard_no-empty-first-line-in-method-block = disabled
ktlint_standard_no-multi-spaces = disabled
ktlint_standard_no-single-line-block-comment = disabled
ktlint_standard_no-wildcard-imports = disabled
ktlint_standard_package-name = disabled
ktlint_standard_parameter-list-wrapping = disabled
ktlint_standard_paren-spacing = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_property-wrapping = disabled
ktlint_standard_spacing-between-declarations-with-annotations = disabled
ktlint_standard_spacing-between-declarations-with-comments = disabled
ktlint_standard_statement-wrapping = disabled
ktlint_standard_string-template-indent = disabled
ktlint_standard_trailing-comma-on-call-site = disabled
ktlint_standard_trailing-comma-on-declaration-site = disabled
ktlint_standard_try-catch-finally-spacing = disabled
ktlint_standard_wrapping = disabled

# enable some experimental Ktlint rules
ktlint_standard_mixed-condition-operators = enabled
ktlint_standard_kdoc = enabled
ktlint_standard_square-brackets-spacing = enabled

# disable all Ktlint rules in generated files
[app/build/generated/**/*.{kt,kts}]
ktlint_standard = disabled

# see https://github.com/streetcomplete/StreetComplete/commit/4ed305009c42c3617a17bf06c57fa2a40e60d353#commitcomment-158225965
[app/src/commonMain/kotlin/de/westnordost/streetcomplete/osm/WaysCrossingUtils.kt]
ktlint_standard_filename = disabled

[gradlew]
indent_style = space
indent_size = 4

[*.{md,markdown}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_style = space
indent_size = 2
