# commonly generated files
*.pyc
*.mojom.dart
*~
.*.sw?
.DS_Store
.classpath
.cproject
.gdb_history
.gdbinit
.landmines
.project
.pub
.pydevproject
.checkstyle
cscope.*
mojo_shell.trace
Session.vim
tags
Thumbs.db
v8.log
/build/util/LASTCHANGE*

# directories pulled in via deps or hooks
/build/linux/bin/eu-strip
/buildtools/
/dart/
/dart-pub-cache/
/native_client/
/out/
/out_*/
/sdch/open-vcdiff/
/testing/gmock/
/testing/gtest/
/third_party/android_tools/
/third_party/angle/
/third_party/appurify-python/
/third_party/breakpad/src/
/third_party/boringssl/src/
/third_party/brotli/src/
/third_party/colorama/src/
/third_party/dart-sdk/
/third_party/dart-pkg/archive
/third_party/dart-pkg/args
/third_party/dart-pkg/box2d
/third_party/dart-pkg/cassowary
/third_party/dart-pkg/collection
/third_party/dart-pkg/crypto
/third_party/dart-pkg/newton
/third_party/dart-pkg/path
/third_party/dart-pkg/quiver
/third_party/dart-pkg/source_span
/third_party/dart-pkg/string_scanner
/third_party/dart-pkg/vector_math
/third_party/dart-pkg/vector_math
/third_party/dart-pkg/yaml
/third_party/dejavu-fonts-ttf-2.34/ttf/*.ttf
/third_party/freetype-android/src
/third_party/go/
/third_party/icu/
/third_party/jsr-305/src/
/third_party/leveldatabase/
/third_party/libc++/trunk/
/third_party/libc++abi/trunk/
/third_party/libjpeg_turbo/
/third_party/llvm/
/third_party/llvm-build/
/third_party/lss/
/third_party/junit/src/
/third_party/mesa/src/
/third_party/mockito/src/
/third_party/pdfium/
/third_party/pyelftools/
/third_party/pywebsocket/src/
/third_party/requests/src/
/third_party/robolectric/src/
/third_party/skia/
/third_party/smhasher/src/
/third_party/snappy/src/
/third_party/yasm/binaries/
/third_party/yasm/source/patched-yasm/
/tools/grit/
/v8/

# dart packages directories and related.
/examples/dart/hello_world/hello/.packages
/examples/dart/hello_world/hello/packages
/examples/dart/device_info/.packages
/examples/dart/device_info/packages
/examples/dart/hello_world/world/.packages
/examples/dart/hello_world/world/packages
/examples/dart/netcat/.packages
/examples/dart/netcat/packages
/examples/dart/traced_application/.packages
/examples/dart/traced_application/packages
/examples/dart/wget/.packages
/examples/dart/wget/packages
/mojo/common/dart/.packages
/mojo/common/dart/packages
/mojo/dart/apptest/.packages
/mojo/dart/apptest/packages
/mojo/dart/apptest/pubspec.lock
/mojo/dart/http_load_test/.packages
/mojo/dart/http_load_test/bin/packages
/mojo/dart/http_load_test/packages
/mojo/dart/mojo_services/.packages
/mojo/dart/mojo_services/packages
/mojo/dart/mojo_services/pubspec.lock
/mojo/dart/mojom/.packages
/mojo/dart/mojom/bin/packages
/mojo/dart/mojom/packages
/mojo/dart/mojom/test/packages
/mojo/dart/observatory_test/.packages
/mojo/dart/testing/.packages
/services/dart/test/echo/.packages
/services/dart/test/echo/packages
/services/dart/test/pingpong/.packages
/services/dart/test/pingpong/packages
/services/dart/test/pingpong_target/.packages
/services/dart/test/pingpong_target/packages
/services/dart/test/service_test_interfaces/.packages
/services/dart/test/service_test_interfaces/packages
services/dart/test/service_test_interfaces/pubspec.lock

# downloaded keyboard_native resources.
/services/keyboard_native/res/*.png

# breakpad tool
/mojo/tools/linux64/dump_syms
/mojo/tools/linux64/symupload

# downloaded prediction dictionary files.
/services/prediction/res/*.dict
