* text=auto

# Generic files
AUTHORS text
ChangeLog text
COPYING text
NEWS text
README text
CONTRIBUTING text
LICENSE text
*.txt text
*.md text
*.zip binary

# C-like Sources
*.asm text
*.c text
*.cc text
*.cpp text
*.h text
*.in text
*.s text
*.S text
*.elf binary

# C-like configuration/scripts
*.ac text
*.am text
# file permission +x
*.bat text
*.build text
*.incl text
makefile text
Makefile text
*.mk text
# file permission +x
*.sh text

# Qt
*.pro text
*.qml text
*.qrc text

# Visual Studio
*.dsp text eol=crlf
*.dsw text eol=crlf
*.filters text eol=crlf
*.sln text eol=crlf
*.vcxproj text eol=crlf

# C output files 
# (These should not normally be checked in, exceptions for pre-compiled libraries and tests)
*.o binary
*.d text
# file permission +x
*.dll binary diff=dll
*.a binary
# file permission +x
*.exe binary
*.out binary
*.app binary
# file permission +x
*.jnilib binary diff=hex
# file permission +x
*.so binary

# Web/Javascript/Node
*.css text
*.htm text
*.html text
*.js text
*.json text
.npmignore text
package-list text
*.xml text
*.xsd text
*.xsl text
yarn.lock text
*.lock text

# Images
*.gif binary
*.icns binary
*.ico binary
*.jpg binary
*.jpeg binary
*.png binary
*.PNG binary
*.xpm binary

# Java/Eclipse
# remove trailing whitespace
*.java text
# remove trailing whitespace
*.properties text
.api_filters text
.classpath text
*.exsd text
*.g text
*.inf text
*.ini text
*.launch text
*.mappings text
# remove trailing whitespace
*.MF text
.options text
*.options text
*.prefs text
*.product text
.project text
*.setup text
*.target text

# Java output files
# (These should not normally be checked in, exceptions for pre-compiled libraries and tests)
*.class binary
*.jar binary

# Files used in tests
*.awts text
be32 binary
be32lib binary
be64 binary
be64lib binary
*.bin binary
exe binary
exebig_g binary
exe_g binary
*.expected text
*.F90 text
*.init text
launchConfigTestGdbinit text
le32 binary
le32lib binary
le64 binary
le64lib binary
*.main text
output-1 text
*.pda text
*.rts text
*.srec text eol=lf
test_commands text

# Other special files
cdtOptions text
.clang-format text
.contentsettings text
*.csv text
*.dia binary
*.dictionary text
.eclipseproduct text
.euml2 text
.gitattributes text
.gitignore text
.gitkeep text
*.patch text
*.src text
*.tmLanguage text
*.top text
*.ucd text
.umlproject text
# remove trailing whitespace
# file permission +x
*.py text
*.xhtml text
*.entitlements text
