# Normalize line endings: let git decide on commit, check out native.
* text=auto

# Scripts that MUST keep a specific ending regardless of platform.
*.sh        text eol=lf
*.bash      text eol=lf
*.ps1       text eol=crlf
*.bat       text eol=crlf
*.cmd       text eol=crlf

# Source files - always LF in the repo.
*.c         text eol=lf
*.cc        text eol=lf
*.cpp       text eol=lf
*.h         text eol=lf
*.hpp       text eol=lf
*.cmake     text eol=lf
*.py        text eol=lf
*.ts        text eol=lf
*.tsx       text eol=lf
*.json      text eol=lf
*.yml       text eol=lf
*.yaml      text eol=lf
*.md        text eol=lf
CMakeLists.txt text eol=lf

# Binary assets - never touch.
*.pdf       binary
*.png       binary
*.jpg       binary
*.webp      binary
*.ttf       binary
*.otf       binary
*.wasm      binary
*.lib       binary
*.a         binary
*.dll       binary
*.so        binary
*.dylib     binary
