# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true

[*]
indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
# max_line_length = 80

[*.md]
trim_trailing_whitespace = true
insert_final_newline = true

[*.js]
quote_type = single
indent_size = 4

[*.json]
indent_style = space
indent_size = 2
max_line_length = 140

[Makefile]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
tab_width = 2
# indent_size = 2

[{.github/workflows/*.yml, .github/workflows/*.yaml}]
indent_style = space
indent_size = 4
max_line_length = 140

[*.yml]
indent_style = space
indent_size = 2
max_line_length = 140

[*.yaml]
indent_style = space
indent_size = 2
max_line_length = 140

# [{*.json,*.json.example,*.gyp,*.yml,*.yaml}]
# indent_style = space
# indent_size = 2

# [*.rs]
# end_of_line = lf
# charset = utf-8
# trim_trailing_whitespace = true
# insert_final_newline = true
# # indent_style = space
# # indent_size = 4

[*.go]
indent_style = tab
indent_size = 4

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

[*.sh]
# like -i=4
indent_style = space
indent_size = 2
shell_variant      = bash # like -ln=posix
binary_next_line   = true  # like -bn
switch_case_indent = true  # like -ci
space_redirects    = true  # like -sr
keep_padding       = true  # like -kp
function_next_line = true  # like -fn
