# Keep following lines sorted according to `LC_COLLATE=C sort`
*.eml
*.iml
*.pyc
*.sublime-*
*.swp
*~
.DS_Store
.gwt_work_dir
/.apt_generated
/.apt_generated_tests
/.bazel_path
/.buckd
/.classpath
/.factorypath
/.idea
/.ijwb
/.metadata
/.project
/.settings/org.eclipse.ltk.core.refactoring.prefs
/.settings/org.eclipse.m2e.core.prefs
/.settings/org.maven.ide.eclipse.prefs
/.vscode
/bazel-*
/bin/
/bower_components/
/eclipse-out
/extras
/gerrit-package-plugins
/gwt-unitCache
/infer-out
/local.properties
/node_modules/
/package-lock.json
/plugins/*
!/plugins/BUILD
!/plugins/codemirror-editor
!/plugins/commit-message-length-validator
!/plugins/delete-project
!/plugins/download-commands
!/plugins/external_plugin_deps.bzl
!/plugins/gitiles
!/plugins/hooks
!/plugins/plugin-manager
!/plugins/replication
!/plugins/reviewnotes
!/plugins/singleusergroup
!/plugins/webhooks
/test_site
/tools/format
