# Default: auto-detect text files and normalize to LF
* text=auto eol=lf

# Source files
*.cpp text eol=lf
*.h text eol=lf
*.c text eol=lf
*.hpp text eol=lf
*.cmake text eol=lf
CMakeLists.txt text eol=lf
*.md text eol=lf
*.json text eol=lf
*.sh text eol=lf
*.qrc text eol=lf
*.ui text eol=lf
*.ts text eol=lf
*.qss text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.txt text eol=lf
*.xml text eol=lf
*.html text eol=lf
*.css text eol=lf
*.js text eol=lf

# Windows scripts keep CRLF
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf

# Binary files
*.png binary
*.ico binary
*.svg binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ttf binary
*.otf binary
*.pfb binary
*.woff binary
*.woff2 binary
*.eot binary
# pdf.js pre-compiled CMaps. Most contain NUL bytes and git auto-detects them as
# binary, but a handful (e.g. GB-H.bcmap) do not, so under the `* text=auto`
# default a re-vendored CMap carrying a CRLF pair would be LF-normalized and ship
# corrupt in the .rcc with no build, rcc or test signal.
*.bcmap binary
