# Godot .gitignore config
#
# Aims to encompass the most commonly found files that we don't want committed
# to Git, such as compilation output, IDE specific files, etc.
#
# It doesn't cover *all* thirdparty IDE extensions under the sun so if you have
# specific needs covered here, you can add them to:
#   .git/info/exclude
#
# Or contribute them to this file if they're common enough that a good number of
# users would benefit from the shared rules.
#
# This file is organized by sections, with subsections ordered alphabetically.
# - Build configuration
# - Godot generated files
# - General build output
# - IDE and tool specific
# - Visual Studio specific
# - OS specific

###########################
### Build configuration ###
###########################

/custom.py
misc/hooks/pre-commit-custom-*

#############################
### Godot generated files ###
#############################

# Buildsystem
bin/
*.gen.*
compile_commands.json
platform/windows/godot_res.res

# Generated by Godot binary
.import/
/gdextension_interface.h
extension_api.json
logs/

# Generated by unit tests
tests/data/*.translation

############################
### General build output ###
############################

# C/C++ generated
*.a
*.ax
*.d
*.dll
*.lib
*.lo
*.o
*.os
*.ox
*.Plo
*.so
# Binutils tmp linker output of the form "stXXXXXX" where "X" is alphanumeric
st[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]

# Python generated
__pycache__/
*.pyc

# Documentation
doc/_build/

# Android
.gradle/
local.properties
*.iml
.gradletasknamecache
project.properties
platform/android/java/*/.cxx/
platform/android/java/*/build/
platform/android/java/*/libs/

# iOS
*.dSYM

# Web platform
*.bc
platform/web/node_modules/

# Misc
*.debug

#############################
### IDE and tool specific ###
#############################

# Automake
.deps/*
.dirstamp

# ccls
.ccls-cache/

# clangd
.clangd/
.cache/

# CLion
cmake-build-debug

# Code::Blocks
*.cbp
*.layout
*.depend

# CodeLite
*.project
*.workspace
.codelite/

# Cppcheck
*.cppcheck
cppcheck-cppcheck-build-dir/

# Eclipse CDT
.cproject
.settings/
*.pydevproject
*.launch

# Gcov and Lcov code coverage
*.gcno
*.gcda
*.gcov.html
*.func.html
*.func-sort-c.html
*index-sort-f.html
*index-sort-l.html
*index.html
godot.info
amber.png
emerald.png
glass.png
ruby.png
snow.png
updown.png
gcov.css

# Geany
*.geany
.geanyprj

# Gprof
gmon.out

# Jetbrains IDEs
.idea/
.fleet/

# Kate
*.kate-swp

# Kdevelop
*.kdev4

# Qt Creator
*.config
*.creator
*.creator.*
*.files
*.includes
*.cflags
*.cxxflags

# SCons
.sconf_temp
.sconsign*.dblite
.scons_env.json
.scons_node_count

# Sourcetrail
*.srctrl*

# Tags
# https://github.com/github/gitignore/blob/master/Global/Tags.gitignore
# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
TAGS
!TAGS/
tags
*.tags
!tags/
gtags.files
GTAGS
GRTAGS
GPATH
cscope.files
cscope.out
cscope.in.out
cscope.po.out

# Vim
*.swo
*.swp

# Visual Studio Code
.vscode/
*.code-workspace
.history/

# Xcode
xcuserdata/
*.xcscmblueprint
*.xccheckout
*.xcodeproj/*

##############################
### Visual Studio specific ###
##############################

# https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# Ignore Visual Studio temporary files, build results, and
# files generated by popular Visual Studio add-ons.

# Actual VS project files we don't use
*.sln
*.vcxproj*

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/

# Do not ignore x86 folders anywhere under thirdparty libraries
!thirdparty/**/x86/

[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/

# Visual Studio 2017 auto generated files
Generated\ Files/

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache

# Others
ClientBin/
enc_temp_folder/
~$*
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# Hint file for IntelliSense
cpp.hint

###################
### OS specific ###
###################

# Linux
*~
.directory

# macOS
.DS_Store
__MACOSX

# Windows
# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
[Tt]humbs.db
[Tt]humbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk