### General file patterns
*~
.*.sw?
.build_lock
.clangd
.checkstyle
.classpath
.config
.envrc
.fx-build-dir
.fx-metrics-config
.fx-multi-list
.cproject
.DS_Store
.gdb_history
.gdbinit
.jiri_manifest
.landmines
.packages
.project
.pydevproject
.ssh
.vscode
*_BACKUP_*
*_REMOTE_*
*_LOCAL_*
*_BASE_*
*.dSYM
*.iml
*.orig
*.pyc
*.code-workspace
*.sublime-project
*.sublime-workspace
*.swp
*.swo
Cargo.lock
!/third_party/rust_crates/**/Cargo.lock
Cargo.toml
!/third_party/rust_crates/**/Cargo.toml
CMakeLists.txt
compile_commands.json
cmake-build-debug/
cscope.*
default.profraw
rls*.log
Session.vim
tags
TAGS
Thumbs.db
tools/cipd.gni
topaz/
vendor/
!/third_party/rust_crates/vendor
tmp/
json_generator_tests_*.txt

### Specific files
/garnet/tools/cipd.gni

### Directories to be ignored across the tree
.cipd/
.idea/

### Top-level directories
/.jiri/
/.jiri_root/
/integration/
# For storing local scripts and data files in a source tree.
/local/
/out/
/prebuilt/
/test_data/
/third_party/*
!/third_party/rust_crates
!/third_party/modp_b64
/tmp/
/topaz/
/vendor/
/src/experiences

# All files in vendor need to be delivered as is, as they use
# checksumming to ensure secure package delivery.
!/third_party/rust_crates/vendor/**
