Break module extension groups after a `use_repo` (#1339)

This allows users to separate tags and associated `use_repo` statements into separate groups.

Also use unified diffs in the integration tests since ordinary diffs make it very hard to reason about whitespace.

Before:
```
go_deps = use_extension("//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_bazelbuild_buildtools",
)
go_deps.module(name = "foo")
use_repo(go_deps, "foo")
```

After:
```
go_deps = use_extension("//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//:go.mod")
use_repo(
    go_deps,
    "com_github_bazelbuild_buildtools",
)

go_deps.module(name = "foo")
use_repo(go_deps, "foo")
```
2 files changed
tree: 42c4c927880c8c6117dbb7fc2137b8d973b0abe3
  1. .bazelci/
  2. api_proto/
  3. build/
  4. build_proto/
  5. buildifier/
  6. buildifier2/
  7. buildozer/
  8. bzlenv/
  9. config/
  10. convertast/
  11. deps_proto/
  12. differ/
  13. edit/
  14. extra_actions_base_proto/
  15. file/
  16. generatetables/
  17. labels/
  18. lang/
  19. release/
  20. tables/
  21. testutils/
  22. unused_deps/
  23. warn/
  24. wspace/
  25. .bazelrc
  26. .gitignore
  27. .mailmap
  28. .pre-commit-config.yaml
  29. BUILD.bazel
  30. CODEOWNERS
  31. CONTRIBUTING.md
  32. CONTRIBUTORS
  33. go.mod
  34. go.sum
  35. launcher.js
  36. LICENSE
  37. MODULE.bazel
  38. README.md
  39. status.py
  40. update_generated.sh
  41. WARNINGS.md
  42. WORKSPACE
  43. WORKSPACE.bzlmod
README.md

Buildtools for bazel

This repository contains developer tools for working with Google's bazel buildtool.

Build status

Setup

See instructions in each tool's directory.