# 1. Specific Geant4 ignores
#======================================================================
# i. Subprojects that may be cloned for testing
#======================================================================
/benchmarks/
/verification/

#======================================================================
# ii. Formatting
#======================================================================

# ignore any hidden clang-format files
/format-original.txt
/format-modified.txt

#!/GitUtilities/geant4-clang-format 

#======================================================================
# iii. Local git config files
#======================================================================
# Want attributes controlled by top level unless there's a good reason
/source/**/.gitattributes
/examples/**/.gitattributes
/tests/**/.gitattributes


# 2. System temporaries
#======================================================================
# i. Linux
#======================================================================
*~

# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*

# KDE directory preferences
.directory

# Linux trash folder which might appear on any partition or disk
.Trash-*

# .nfs files are created when an open file is removed but is still being accessed
.nfs*

#======================================================================
# ii. macOS
#======================================================================
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

#======================================================================
# iii. Windows
#======================================================================
# Windows thumbnail cache files
Thumbs.db
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk


3. Text Editor/IDE
#======================================================================
1. Eclipse
#======================================================================
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# CDT- autotools
.autotools

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# STS (Spring Tool Suite)
.springBeans

# Code Recommenders
.recommenders/

# Annotation Processing
.apt_generated/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

# VSCode
.vscode

# QtCreator
CMakeLists.txt.user

#======================================================================
# ii. Emacs
#======================================================================
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

# Org-mode
.org-id-locations
*_archive

# flymake-mode
*_flymake.*

# eshell files
/eshell/history
/eshell/lastdir

# elpa packages
/elpa/

# reftex files
*.rel

# AUCTeX auto folder
/auto/

# cask packages
.cask/
dist/

# Flycheck
flycheck_*.el

# server auth directory
/server/

# projectiles files
.projectile

# directory configuration
.dir-locals.el

#======================================================================
# iii. KDevelop
#======================================================================
*.kdev4
.kdev4/

#======================================================================
# iv. Kate
#======================================================================
.*.kate-swp
.swp.*

#======================================================================
# v. Vim
#======================================================================
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]

# Session
Session.vim

# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~

#======================================================================
# vi. VisualStudio/Code
#======================================================================
.vscode*

#======================================================================
# vii. Xcode
#======================================================================
## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

#======================================================================
# viii. QtCreator
#======================================================================
CMakeLists.txt.user

#=====================================================================
#  CLion
#=====================================================================
.idea*
cmake-build*

4. Development/Build Generated
#======================================================================
# i. CMake
#======================================================================
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake

#======================================================================
# ii. C/C++
#======================================================================
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
a.out
*.app

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

