This repository has been archived by the owner on Jul 15, 2023. It is now read-only.
Use folder containing go.mod file as cwd when running godef, gogetdoc, go doc #2262
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Right now, we use the workspace folder as cwd when running godef and gogetdoc for the Go to definition feature.
This might not be performant if the workspace folder is much higher than where the go.mod file is
This might not give accurate results in case of sub modules
Also, when running
go doc
to get the documentation to show on hover, we don't set any working directory at all. This results in getting no documentation for symbols in the same package.This PR updates the code that runs
godef
,gogetdoc
andgo doc
to use the folder corresponding to the right go.mod file as cwdWhen operating on files under the module cache, we use the workspace folder as before
Not using the right package import path for packages in module cache, results in no documentation to show on hover for their symbols too. So we update the
getCurrentPackage
function to return the right import path for such packages.Fixes #2180, #2244 and possibly #2222