*.pyc

# Directories added by gclient sync and the GN build
.cipd
.gclient
.gclient_entries
build
buildtools
testing
third_party/SPIRV-Tools/
third_party/binutils/
third_party/clang-format/
third_party/glfw/
third_party/glm/
third_party/glslang/
third_party/googletest/
third_party/jinja2/
third_party/jsoncpp/
third_party/llvm-build
third_party/markupsafe/
third_party/shaderc/
third_party/spirv-cross/
third_party/spirv-headers/
third_party/vulkan-headers/
third_party/vulkan-validation-layers/
tools
out

# Modified from https://www.gitignore.io/api/vim,macos,linux,emacs,windows,sublimetext,visualstudio,visualstudiocode

### Emacs ###
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*

### Linux ###
.fuse_hidden*
.directory
.Trash-*
.nfs*

### macOS ###
*.DS_Store
.AppleDouble
.LSOverride
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### SublimeText ###
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
*.sublime-workspace
*.sublime-project
sftp-config.json
GitHub.sublime-settings

### Vim ###
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
Session.vim
.netrwhist
tags

### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

### Windows ###
Thumbs.db
ehthumbs.db
ehthumbs_vista.db
Desktop.ini
$RECYCLE.BIN/
