# EditorConfig helps maintain consistent coding styles
# https://editorconfig.org/

root = true

# All files
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Python files
[*.py]
indent_style = space
indent_size = 4
max_line_length = 88

# TOML files (pyproject.toml, etc.)
[*.toml]
indent_style = space
indent_size = 2

# YAML files (.github workflows, pre-commit, etc.)
[*.{yml,yaml}]
indent_style = space
indent_size = 2

# JSON files (VS Code settings, package.json, etc.)
[*.json]
indent_style = space
indent_size = 2

# Markdown files
[*.md]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false

# Makefile
[{Makefile,*.mk}]
indent_style = tab
indent_size = 4

# Shell scripts
[*.sh]
indent_style = space
indent_size = 2

# Configuration files
[{*.cfg,*.ini}]
indent_style = space
indent_size = 2