Besides the existing internal packages, handles handles external local repository: the packages in pattern @repo//package/path:target.
For building the tree structure:
We made the WorkspaceTreeProvider able to process only the following two patterns, then normalize the patterns queried in IBazelQuerier:
//internal/package/path
@external//package/path
The algorithm for building and grouping the queried packages are mostly remained.
Simple test cases also added for package path handling, with corresponding refactors and clean ups.
UI:
Expand the symlink for local repository target in BazelTargetTreeItem.getCommand(), so that clicking the targets in external local repository would jump into the source tree instead of Bazel cache path.
Misc:
Also fixes some floating promises in edited files by explicitly marking them void for not waiting command/message, or properly grouping them into a promise for await.
Besides the existing internal packages, handles handles external local repository: the packages in pattern
@repo//package/path:target
.For building the tree structure:
WorkspaceTreeProvider
able to process only the following two patterns, then normalize the patterns queried inIBazelQuerier
://internal/package/path
@external//package/path
UI:
BazelTargetTreeItem.getCommand()
, so that clicking the targets in external local repository would jump into the source tree instead of Bazel cache path.Misc:
void
for not waiting command/message, or properly grouping them into a promise for await.Works towards https://github.com/bazel-contrib/vscode-bazel/issues/416.