# VS Code Configs
.vscode/*
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/settings.json

# Platforms
.DS_Store

# Build System
Makefile.in
aclocal.m4
autom4te.cache
output/
/build/
examples/**/build
config.log
config.status
configure
src/include/BuildConfig.h.in
src/include/BuildConfig.h.in~
cmake-build-debug/**

# GN build system
out/

# Repos stuff
.repos-warning-stamp

# Example specific rules
examples/**/sdkconfig
examples/**/sdkconfig.old

# ESP32 QEMU build
src/test_driver/esp32/build

# Temporary Directories
.tmp/

# Xcode, other development environment stuff
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
*.xcodeproj/*
*.xcworkspace/*
TAGS

# Text editors
.*.sw[a-z]

# Patch files
*.rej
*.orig

# C-Lion / IDEA files
.idea/**

# Python bytecodes
__pycache__
*.pyc
