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

# Editors
.idea/
.project
.cproject
.vscode
.clangd/
*.swp
*.swo
*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
# 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
