You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
When hovering over a symbol in the editor, currently some go doc links do not render as links in the tooltip.
If the link is to some URL, then it will appear correctly. If the link is to a fully-qualified symbol eg [encoding/json.Marshal] then it will also appear correctly. However links to symbols imported in the current package but not fully-qualified will not appear as links.
Describe the solution you'd like
For builtins or standard library symbols that are accessible, they should link to their pkg.go.dev pages.
For symbols imported in the current package that are not rooted in the same module as the symbol being hovered on, they should also link to their pkg.go.dev pages. (Of course, they may not actually exist on pkg.go.dev, but I think this is good enough, and I believe GoLand does the same thing - it's been a while since I've used it however.)
For symbols imported in the current package that are rooted in the same module as the symbol being hovered on, I think the tooltip should change to showing the documentation for that symbol, since the full comment text should be available in the current workspace.
package sample
import"encoding/json"// This is a sample go doc comment.// - [A regular link] works fine.// - So does a fully-qualified link to a builtin like [encoding/json.Marshal].// - And even non-builtins like [github.com/vmihailenco/msgpack/v5.Marshal].//// However...// - A link to a symbol accessible through an alias does not: [json.Marshal]// - Neither does a link to a symbol in the current package: [Bar]//// [A regular link]: http://example.comtypeFoostruct{}
typeBarstruct{}
func (Foo) F() {
json.Marshal(nil)
}
This tooltip is shown when I hover over Foo in the editor:
The text was updated successfully, but these errors were encountered:
suzmue
changed the title
go doc links to symbols in the current package or non-fully-qualified packages do not render as links in tooltips
x/tools/gopls: go doc links to symbols in the current package or non-fully-qualified packages do not render as links in tooltips
Jul 31, 2023
gopherbot
added
Tools
This label describes issues relating to any tools in the x/tools repository.
gopls
Issues related to the Go language server, gopls.
labels
Jul 31, 2023
Is your feature request related to a problem? Please describe.
When hovering over a symbol in the editor, currently some go doc links do not render as links in the tooltip.
If the link is to some URL, then it will appear correctly. If the link is to a fully-qualified symbol eg
[encoding/json.Marshal]
then it will also appear correctly. However links to symbols imported in the current package but not fully-qualified will not appear as links.Describe the solution you'd like
For builtins or standard library symbols that are accessible, they should link to their pkg.go.dev pages.
For symbols imported in the current package that are not rooted in the same module as the symbol being hovered on, they should also link to their pkg.go.dev pages. (Of course, they may not actually exist on pkg.go.dev, but I think this is good enough, and I believe GoLand does the same thing - it's been a while since I've used it however.)
For symbols imported in the current package that are rooted in the same module as the symbol being hovered on, I think the tooltip should change to showing the documentation for that symbol, since the full comment text should be available in the current workspace.
Describe alternatives you've considered
None
Additional context
https://tip.golang.org/doc/comment#doclinks describes the rules for links.
Given the code sample:
This tooltip is shown when I hover over
Foo
in the editor:The text was updated successfully, but these errors were encountered: