# Ignore build directory
/build*
/build-docker*
/src/ports/postgres/modules/dbscan/test/perf/blobs
/cmake-build-debug/

# Ignore generated code files
*.so
*.o
*.pyc

# Meta data of Mac OS X's Finder.app
.DS_Store

# LaTeX temporary files
*.aux
*.bbl
*.blg
*.log
*.out
*.synctex.gz
*.toc
*.thm
auto
_region_.tex
auto
*.swp
*.fdb_latexmk
*.swo  # vim swap file
\#*\#  # emacs backup file

# Biblatex temporary files
*-blx.bib
*.run.xml

# Ignore specific generated files
/doc/design/design.pdf
/target/rat.txt

# ctags, cscope files
/cscope.files
/refresh_index.sh
/tags*
.tags*

/Makefile
.predictive
.Rhistory
eproject.cfg
*.project.vim
.vscode
.idea
