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

# Platforms
.DS_Store

# Build System
out/
/src/test_driver/nrfconnect/build/
/src/darwin/Framework/build/

# Environment directory
.environment/

# 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

# Doxygen outputs
docs/html

# VSCode java extensions
.project
