# Rust source uses semantic hunk headers and rustfmt-compatible whitespace rules.
[attr]rust text eol=lf whitespace=tab-in-indent,trailing-space,tabwidth=4

# Normalize text files across development and CI environments.
* text=auto eol=lf
*.rs rust diff=rust

# Keep executable scripts on Unix line endings.
*.sh text eol=lf
*.bash text eol=lf
*.zsh text eol=lf

# SQLx offline query metadata is generated by `cargo sqlx prepare`.
.sqlx/** text eol=lf linguist-generated=true

# Lockfile changes affect reproducibility and supply-chain review.
Cargo.lock linguist-generated=false

# Third-party protobuf contracts are vendored source.
synctv-proto/proto/buf/** linguist-vendored=true
synctv-proto/proto/google/** linguist-vendored=true

# Binary assets and archives.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.webp binary
*.ico binary
*.pdf binary
*.woff binary
*.woff2 binary
*.ttf binary
*.otf binary
*.wasm binary
*.zip binary
*.gz binary
*.tar binary
*.tgz binary
*.7z binary
*.p12 binary
*.pfx binary
*.der binary
