x/tools/gopls: consider indexing workspace symbols in all dependencies #53004
Labels
FeatureRequest
gopls
Issues related to the Go language server, gopls.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
As noted in #37537 (comment), workspace symbols is a useful index for "available symbols" in a project. But right now, we only index files in the transitive closure of workspace packages. This means that symbols in unimported packages (including stdlib packages) are not reachable. FWIW I don't usually notice this, but it can be surprising if one is trying to jump to a standard library symbol that happens not to be reachable. As an API it's not great because the user can't be expected to remember which packages are imported, and which are not.
The good news is that the workspace symbol index is out-of-band of our package graph, and symbols are somewhat efficiently stored (if needed, we can further optimize their storage). We should be able to index all files in modules reachable from the workspace.
To start, we can do this for std.
CC @marwan-at-work @hyangah
The text was updated successfully, but these errors were encountered: