# A file specifying filepatterns for git to ignore.

# vim
*.swp

# bazel
/bazel-*
/examples/bazel-*
/examples/*/bazel-*
/docs/bazel-*

# rustfmt
*.rs.bk

# Cargo
**/target/

# npm
**/node_modules/
