# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

# Global settings
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8

# JavaScript, TypeScript, Vue, and stylesheet files
[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}]
indent_style = tab
indent_size = 4
max_line_length = 100

# JSON, YAML, and config files
[*.{json,yaml,yml,toml,ini,editorconfig}]
indent_style = tab
indent_size = 4

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

# Docker and shell scripts
[{Dockerfile,docker-compose*.yml,*.sh,*.bash}]
indent_style = tab
indent_size = 4
max_line_length = off

# HTML and template files
[*.{html,htm,ejs,hbs,liquid}]
indent_style = tab
indent_size = 4
max_line_length = off

# Makefiles (must use tabs)
[Makefile]
indent_style = tab
indent_size = 4

# Nix files (common addition for your stack)
[*.nix]
indent_style = tab
indent_size = 2
max_line_length = 100
