# Git attributes file to control file handling

# Text files should be normalized (LF in repository, CRLF on Windows checkout)
* text=auto

# Batch files should keep CRLF line endings and use system encoding
*.bat text eol=crlf
*.cmd text eol=crlf

# Shell scripts should use LF line endings
*.sh text eol=lf

# Source code files
*.cpp text
*.h text
*.c text
*.hpp text
*.cc text
*.cxx text

# Web files
*.html text
*.css text
*.js text
*.json text

# Configuration files
*.cmake text
*.txt text
*.md text
*.yml text
*.yaml text
*.xml text

# Qt specific files
*.qrc text
*.pro text
*.pri text
*.ui text

# Binary files (do not modify)
*.dll binary
*.exe binary
*.so binary
*.dylib binary
*.a binary
*.lib binary
*.obj binary
*.o binary
*.zip binary
*.tar binary
*.gz binary
*.7z binary
*.rar binary

# Image files
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.bmp binary
*.ico binary
*.svg text

# Font files
*.ttf binary
*.otf binary
*.woff binary
*.woff2 binary

# Archive and package files
*.nuspec text
*.p7s binary
*.tlb binary

# Ensure line endings are preserved for critical Windows files
deploy_qt_dlls.bat text eol=crlf
build_windows.bat text eol=crlf
build_test.bat text eol=crlf
build_simple.bat text eol=crlf
configure_windows.bat text eol=crlf
setup_qt_env.bat text eol=crlf