# GNU make tools #
##################
/autom4te.cache
config/config.sub
config/config.guess
config/sp-config-h.in
config/compile
config/depcomp
config/install-sh
config/ltmain.sh
config/missing
config/test-driver
configure
makeflags
*.m4

# Bazel generated files #
#########################
/bazel-*
scripts/compile/env_exec.sh
config/heron-config.h
tools/cpp/osx_gcc_wrapper.sh
tools/cpp/CROSSTOOL
tools/cpp/osx
tools/cpp/gcc
tools/cpp/g++
tools/jdk/ijar
.DS_Store

# Vim
.*.swp
.*.swo

# Compiled source #
###################
/release
*.com
*.class
*.dll
*.exe
*.o
*.so
*.jar
*.fyc
*.rbc
*.pyc
*.in
*.in~
*.swp

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.iso
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Trashes

# Editor generated files #
##########################
.emacs-project
.ropeproject
*.swp

## Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

## Directory-based project format
.idea/
# if you remove the above rule, at least ignore user-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
#  and these sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml

## Maven generated files
.classpath.txt

## File-based project format
*.ipr
*.iws
*.iml
*.project
*.cproject
*.pydevproject

## Additional for IntelliJ
out/

# Eclipse
.settings/
.metadata/
.project
.classpath
.autotools
target

# generated by mpeltonen/sbt-idea plugin
.idea_modules/

# generated by JIRA plugin
atlassian-ide-plugin.xml

# generated by Crashlytics plugin (for Android Studio and Intellij)
com_crashlytics_export_strings.xml

# generated for the website
website/node_modules/
website/public/
website/static/
/bin/

# Visual Studio Code
.vscode
