##---------------------------------------------------
# Common .gitattributes
##---------------------------------------------------
# Common settings that generally should always be used with your language specific settings

# Auto detect text files and perform LF normalization
# https://www.davidlaing.com/2012/09/19/customise-your-gitattributes-to-become-a-git-ninja/
*           text=auto

#
# The above will handle all files NOT found below
#

# Documents
*.bibtex    text diff=bibtex
*.doc       diff=astextplain
*.DOC       diff=astextplain
*.docx      diff=astextplain
*.DOCX      diff=astextplain
*.dot       diff=astextplain
*.DOT       diff=astextplain
*.pdf       diff=astextplain
*.PDF       diff=astextplain
*.rtf       diff=astextplain
*.RTF       diff=astextplain
*.md        text diff=markdown
*.tex       text diff=tex
*.adoc      text
*.textile   text
*.mustache  text
*.csv       text
*.tab       text
*.tsv       text
*.txt       text
*.sql       text
*.ps1       text eol=crlf

# Graphics
*.png       binary
*.jpg       binary
*.jpeg      binary
*.gif       binary
*.tif       binary
*.tiff      binary
*.ico       binary
# SVG treated as an asset (text) by default.
*.svg       text
# If you want to treat it as binary, use the following line instead.
# *.svg     binary
*.eps       binary

# Scripts
*.bash      text eol=lf
*.fish      text eol=lf
*.sh        text eol=lf
# These are explicitly windows files and should use crlf
*.bat       text eol=crlf
*.cmd       text eol=crlf

# Serialisation
*.json      text
*.toml      text
*.xml       text
*.yaml      text
*.yml       text

# Archives
*.7z        binary
*.gz        binary
*.tar       binary
*.tgz       binary
*.zip       binary

# Text files where line endings should be preserved
*.patch     -text

#
# Exclude files from exporting
#

.gitattributes export-ignore
.gitignore     export-ignore
.gitkeep       export-ignore


##---------------------------------------------------
# Python
##---------------------------------------------------

# Basic .gitattributes for a python repo.

# Source files
# ============
*.pxd       text diff=python
*.py        text diff=python
*.py3       text diff=python
*.pyw       text diff=python
*.pyx       text diff=python

# Binary files
# ============
*.db        binary
*.p         binary
*.pkl       binary
*.pyc       binary export-ignore
*.pyo       binary export-ignore
*.pyd       binary

# Note: .db, .p, and .pkl files are associated
# with the python modules ``pickle``, ``dbm.*``,
# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
# (among others).

# Jupyter Notebooks
# =================
*.ipynb     text