# Build
compile_commands.json
out/
bazel-*
.presubmit/
docs/_build

# Editors
.idea/
.ijwb/
.project
.cproject
.vscode
# Clangd directories
.clangd/
/.cache/clangd/
# Vim
*.swp
*.swo
# Emacs
*flycheck_*
*_flymake.*
.#*

# Python
*.pyc
*.egg/
*.eggs/
*.egg-info/
.cache/
.mypy_cache/
__pycache__/
build/
dist/

# PyOxidizer
pw_env_setup/py/oxidizer/build

# Mac
.DS_Store

# GDB
.gdb_history

# Git
*.orig
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt

# Env Setup
environment
.environment
build_overrides/pigweed_environment.gni
# TODO(pwbug/216) Remove following lines in this section.
# Maybe find a way to delete these files before these lines are removed.
python*-env/
.python*-env/
pw_env_setup/.env_setup.sh
pw_env_setup/.env_setup.bat
.cipd
.cargo
.bootstrap/

# Web Tools
node_modules
yarn-error.log
