# Binary data types
*.aif binary
*.aifc binary
*.aiff binary
*.au binary
*.bmp binary
*.exe binary
*.icns binary
*.gif binary
*.ico binary
*.jpg binary
*.pck binary
*.png binary
*.psd binary
*.tar binary
*.wav binary
*.whl binary
*.zip binary

# Specific binary files
Lib/test/sndhdrdata/sndhdr.* binary
PC/classicAppCompat.* binary

# Text files that should not be subject to eol conversion
Lib/test/cjkencodings/* -text
Lib/test/decimaltestdata/*.decTest -text
Lib/test/test_email/data/*.txt -text
Lib/test/xmltestdata/* -text
Lib/test/coding20731.py -text
Lib/test/test_importlib/data01/* -text
Lib/test/test_importlib/namespacedata01/* -text

# CRLF files
*.bat text eol=crlf
*.ps1 text eol=crlf
*.sln text eol=crlf
*.vcxproj* text eol=crlf
*.props text eol=crlf
*.proj text eol=crlf
PCbuild/readme.txt text eol=crlf
PC/readme.txt text eol=crlf

# Language aware diff headers
# https://tekin.co.uk/2020/10/better-git-diff-output-for-ruby-python-elixir-and-more
# https://gist.github.com/tekin/12500956bd56784728e490d8cef9cb81
*.c     diff=cpp
*.h     diff=cpp
*.css   diff=css
*.html  diff=html
*.py    diff=python
*.md    diff=markdown

# Generated files
# https://github.com/github/linguist/blob/master/docs/overrides.md
#
# To always hide generated files in local diffs, mark them as binary:
# $ git config diff.generated.binary true
#
[attr]generated linguist-generated=true diff=generated

**/clinic/*.c.h                              generated
*_db.h                                       generated
Doc/data/stable_abi.dat                      generated
Doc/library/token-list.inc                   generated
Include/internal/pycore_ast.h                generated
Include/internal/pycore_ast_state.h          generated
Include/opcode.h                             generated
Include/token.h                              generated
Lib/keyword.py                               generated
Lib/test/test_stable_abi_ctypes.py           generated
Lib/token.py                                 generated
Objects/typeslots.inc                        generated
PC/python3dll.c                              generated
Parser/parser.c                              generated
Parser/token.c                               generated
Programs/test_frozenmain.h                   generated
Python/Python-ast.c                          generated
Python/opcode_targets.h                      generated
Python/stdlib_module_names.h                 generated
Tools/peg_generator/pegen/grammar_parser.py  generated
aclocal.m4                                   generated
configure                                    generated
