##############################################################
##
##   .gitattributes – Hellion Forge / Anvil
##
##   Setup:        Linux-First Development
##                 (Hauptentwicklung auf Linux, Target = Dalamud/Windows)
##   Überarbeitet: Mai 2026
##
##   Strategie:
##     - Default:                Alles LF (Linux-Konvention)
##     - Windows-Batch-Scripts:  CRLF (technische Pflicht!)
##     - PowerShell:             CRLF (Sicherheit für Windows PS 5.1)
##     - Binärdateien:           explizit markiert (gegen Korruption)
##
##############################################################


# =====================================================
# Default: Auto-Detect, alles auf LF normalisieren
# =====================================================

* text=auto eol=lf


# =====================================================
# Source Code (LF)
# =====================================================

*.cs            text eol=lf
*.csx           text eol=lf


# =====================================================
# Configs & Daten (LF)
# =====================================================

*.json          text eol=lf
*.yml           text eol=lf
*.yaml          text eol=lf
*.xml           text eol=lf
*.md            text eol=lf
*.txt           text eol=lf
*.config        text eol=lf
*.editorconfig  text eol=lf
.gitignore      text eol=lf
.gitattributes  text eol=lf


# =====================================================
# Visual Studio / MSBuild Project Files (LF)
# =====================================================

*.sln           text eol=lf
*.csproj        text eol=lf
*.props         text eol=lf
*.targets       text eol=lf


# =====================================================
# Resources & Lokalisierung (LF)
# =====================================================

*.resx          text eol=lf
*.resw          text eol=lf


# =====================================================
# Linux/Mac-Scripts (LF – Pflicht)
# =====================================================

*.sh            text eol=lf
*.bash          text eol=lf
*.zsh           text eol=lf


# =====================================================
# >>> AUSNAHMEN <<<
# Windows-Scripts brauchen ZWINGEND CRLF.
# =====================================================

*.bat           text eol=crlf
*.cmd           text eol=crlf

*.ps1           text eol=crlf
*.psm1          text eol=crlf
*.psd1          text eol=crlf


# =====================================================
# Binäre Build-Artefakte
# =====================================================

*.dll           binary
*.exe           binary
*.pdb           binary
*.so            binary
*.dylib         binary
*.nupkg         binary
*.snupkg        binary


# =====================================================
# Bilder (binary)
# =====================================================

*.png           binary
*.jpg           binary
*.jpeg          binary
*.gif           binary
*.ico           binary
*.bmp           binary
*.tiff          binary
*.webp          binary

# SVG ist eigentlich XML – als Text behandeln
*.svg           text eol=lf


# =====================================================
# Fonts (binary)
# =====================================================

*.ttf           binary
*.otf           binary
*.woff          binary
*.woff2         binary


# =====================================================
# Archive (binary)
# =====================================================

*.zip           binary
*.7z            binary
*.tar           binary
*.gz            binary
