# Build
out/
.presubmit/
compile_commands.json
user.bazelrc
/bazel-*

# Environment
.environment/
environment/
build_overrides/pigweed_environment.gni

# Editors
.pw_ide/
.vscode/settings.json
.vscode/tasks.json
.vscode/extensions.json
.vscode/pw_user_*.json
.vscode/*.bak.json
.idea/
.project
.cproject
.clangd/
*.swp
*.swo
.#*

# Python
python*-env/
.python*-env/
venv/
*.pyc
*.egg/
*.eggs/
*.egg-info/
.cache/
.mypy_cache/
__pycache__/

# Mac
.DS_Store

# GDB
.gdb_history

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

# Other
logfile.txt
pw_console-*logs.txt
