diff --git a/internal/lsp/source/hover.go b/internal/lsp/source/hover.go index 66f1e209c0..2423010935 100644 --- a/internal/lsp/source/hover.go +++ b/internal/lsp/source/hover.go @@ -381,7 +381,7 @@ func FormatHover(h *HoverInformation, options Options) (string, error) { switch options.HoverKind { case SynopsisDocumentation: doc := formatDoc(h.Synopsis, options) - return formatHover(options, doc, link, signature), nil + return formatHover(options, signature, link, doc), nil case FullDocumentation: doc := formatDoc(h.FullDocumentation, options) return formatHover(options, signature, link, doc), nil diff --git a/internal/lsp/testdata/lsp/primarymod/cgo/declarecgo.go.golden b/internal/lsp/testdata/lsp/primarymod/cgo/declarecgo.go.golden index e7fc967a90..779ca2f916 100644 --- a/internal/lsp/testdata/lsp/primarymod/cgo/declarecgo.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/cgo/declarecgo.go.golden @@ -23,8 +23,8 @@ func Example() } -- funccgoexample-hover -- -[`cgo.Example` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/cgo#Example) - ```go func Example() ``` + +[`cgo.Example` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/cgo#Example) diff --git a/internal/lsp/testdata/lsp/primarymod/cgoimport/usecgo.go.golden b/internal/lsp/testdata/lsp/primarymod/cgoimport/usecgo.go.golden index cf683f3be2..2687d30390 100644 --- a/internal/lsp/testdata/lsp/primarymod/cgoimport/usecgo.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/cgoimport/usecgo.go.golden @@ -23,8 +23,8 @@ func cgo.Example() } -- funccgoexample-hover -- -[`cgo.Example` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/cgo#Example) - ```go func cgo.Example() ``` + +[`cgo.Example` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/cgo#Example) diff --git a/internal/lsp/testdata/lsp/primarymod/godef/a/a.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/a/a.go.golden index e21d537bff..b5909a7624 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/a/a.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/a/a.go.golden @@ -1,19 +1,19 @@ -- Lock-hover -- -Lock locks m\. - -[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync#Mutex.Lock) - ```go func (*sync.Mutex).Lock() ``` + +[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync#Mutex.Lock) + +Lock locks m\. -- Name-hover -- -Name returns the object\'s \(package\-local, unqualified\) name\. - -[`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types#TypeName.Name) - ```go func (*types.object).Name() string ``` + +[`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types#TypeName.Name) + +Name returns the object\'s \(package\-local, unqualified\) name\. -- Random-definition -- godef/a/random.go:3:6-12: defined here as ```go func Random() int @@ -39,11 +39,11 @@ func Random() int } -- Random-hover -- -[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random) - ```go func Random() int ``` + +[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random) -- Random2-definition -- godef/a/random.go:8:6-13: defined here as ```go func Random2(y int) int @@ -69,11 +69,11 @@ func Random2(y int) int } -- Random2-hover -- -[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2) - ```go func Random2(y int) int ``` + +[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Random2) -- a-hover -- ```go @@ -105,50 +105,50 @@ var err error } -- err-hover -- -\@err - ```go var err error ``` --- g-hover -- -When I hover on g, I should see this comment\. +\@err +-- g-hover -- ```go const g untyped int = 1 ``` --- h-hover -- -Constant block\. +When I hover on g, I should see this comment\. +-- h-hover -- ```go const h untyped int = 2 ``` + +Constant block\. -- make-hover -- -The make built\-in function allocates and initializes an object of type slice, map, or chan \(only\)\. - -[`make` on pkg.go.dev](https://pkg.go.dev/builtin#make) - ```go func(t Type, size ...IntegerType) Type ``` + +[`make` on pkg.go.dev](https://pkg.go.dev/builtin#make) + +The make built\-in function allocates and initializes an object of type slice, map, or chan \(only\)\. -- string-hover -- ```go string ``` -- typesImport-hover -- -[`types` on pkg.go.dev](https://pkg.go.dev/go/types) - ```go package types ("go/types") ``` --- x-hover -- -x is a variable\. +[`types` on pkg.go.dev](https://pkg.go.dev/go/types) +-- x-hover -- ```go var x string ``` --- z-hover -- -z is a variable too\. +x is a variable\. +-- z-hover -- ```go var z string ``` + +z is a variable too\. diff --git a/internal/lsp/testdata/lsp/primarymod/godef/a/d.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/a/d.go.golden index 4defe1a867..9bcf61485d 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/a/d.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/a/d.go.golden @@ -25,13 +25,13 @@ field Member string } -- Member-hover -- -\@Member - -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Member) - ```go field Member string ``` + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Member) + +\@Member -- Method-definition -- godef/a/d.go:15:16-22: defined here as ```go func (Thing).Method(i int) string @@ -57,11 +57,11 @@ func (Thing).Method(i int) string } -- Method-hover -- -[`(a.Thing).Method` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Method) - ```go func (Thing).Method(i int) string ``` + +[`(a.Thing).Method` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Method) -- Other-definition -- godef/a/d.go:9:5-10: defined here as ```go var Other Thing @@ -89,13 +89,13 @@ var Other Thing } -- Other-hover -- -\@Other - -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Other) - ```go var Other Thing ``` + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Other) + +\@Other -- Thing-definition -- godef/a/d.go:5:6-11: defined here as ```go Thing struct { @@ -123,13 +123,13 @@ Thing struct { } -- Thing-hover -- -[`a.Thing` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing) - ```go Thing struct { Member string //@Member } ``` + +[`a.Thing` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing) -- Things-definition -- godef/a/d.go:11:6-12: defined here as ```go func Things(val []string) []Thing @@ -155,10 +155,10 @@ func Things(val []string) []Thing } -- Things-hover -- -[`a.Things` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Things) - ```go func Things(val []string) []Thing ``` + +[`a.Things` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Things) -- a-hover -- Package a is a package for testing go to definition\. diff --git a/internal/lsp/testdata/lsp/primarymod/godef/a/random.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/a/random.go.golden index adba700632..bba2e2be54 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/a/random.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/a/random.go.golden @@ -23,11 +23,11 @@ func (*Pos).Sum() int } -- PosSum-hover -- -[`(a.Pos).Sum` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Pos.Sum) - ```go func (*Pos).Sum() int ``` + +[`(a.Pos).Sum` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Pos.Sum) -- PosX-definition -- godef/a/random.go:13:2-3: defined here as ```go field x int @@ -53,11 +53,11 @@ field x int } -- PosX-hover -- -\@mark\(PosX, \"x\"\),mark\(PosY, \"y\"\) - ```go field x int ``` + +\@mark\(PosX, \"x\"\),mark\(PosY, \"y\"\) -- RandomParamY-definition -- godef/a/random.go:8:14-15: defined here as ```go var y int diff --git a/internal/lsp/testdata/lsp/primarymod/godef/b/b.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/b/b.go.golden index 7f14091dc0..47208e985a 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/b/b.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/b/b.go.golden @@ -23,11 +23,11 @@ package a ("golang.org/x/tools/internal/lsp/godef/a") } -- AImport-hover -- -[`a` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a) - ```go package a ("golang.org/x/tools/internal/lsp/godef/a") ``` + +[`a` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a) -- AString-definition -- godef/a/a.go:26:6-7: defined here as ```go A string //@mark(AString, "A") @@ -54,12 +54,12 @@ A string //@mark(AString, "A") } -- AString-hover -- -[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#A) - ```go A string //@mark(AString, "A") ``` + +[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#A) -- AStuff-definition -- godef/a/a.go:28:6-12: defined here as ```go func a.AStuff() @@ -85,11 +85,11 @@ func a.AStuff() } -- AStuff-hover -- -[`a.AStuff` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#AStuff) - ```go func a.AStuff() ``` + +[`a.AStuff` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#AStuff) -- S1-definition -- godef/b/b.go:8:6-8: defined here as ```go S1 struct { @@ -119,8 +119,6 @@ S1 struct { } -- S1-hover -- -[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1) - ```go S1 struct { F1 int //@mark(S1F1, "F1") @@ -128,6 +126,8 @@ S1 struct { a.A //@godef("A", AString) } ``` + +[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1) -- S1F1-definition -- godef/b/b.go:9:2-4: defined here as ```go field F1 int @@ -155,13 +155,13 @@ field F1 int } -- S1F1-hover -- -\@mark\(S1F1, \"F1\"\) - -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1) - ```go field F1 int ``` + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1) + +\@mark\(S1F1, \"F1\"\) -- S1S2-definition -- godef/b/b.go:10:2-4: defined here as ```go field S2 S2 @@ -189,13 +189,13 @@ field S2 S2 } -- S1S2-hover -- -\@godef\(\"S2\", S2\), mark\(S1S2, \"S2\"\) - -[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.S2) - ```go field S2 S2 ``` + +[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.S2) + +\@godef\(\"S2\", S2\), mark\(S1S2, \"S2\"\) -- S2-definition -- godef/b/b.go:14:6-8: defined here as ```go S2 struct { @@ -225,8 +225,6 @@ S2 struct { } -- S2-hover -- -[`b.S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2) - ```go S2 struct { F1 string //@mark(S2F1, "F1") @@ -234,6 +232,8 @@ S2 struct { *a.A //@godef("A", AString),godef("a",AImport) } ``` + +[`b.S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2) -- S2F1-definition -- godef/b/b.go:15:2-4: defined here as ```go field F1 string @@ -261,13 +261,13 @@ field F1 string } -- S2F1-hover -- -\@mark\(S2F1, \"F1\"\) - -[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2.F1) - ```go field F1 string ``` + +[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S2.F1) + +\@mark\(S2F1, \"F1\"\) -- S2F2-definition -- godef/b/b.go:16:2-4: defined here as ```go field F2 int @@ -295,13 +295,13 @@ field F2 int } -- S2F2-hover -- -\@mark\(S2F2, \"F2\"\) - -[`(b.S1).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F2) - ```go field F2 int ``` + +[`(b.S1).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F2) + +\@mark\(S2F2, \"F2\"\) -- bX-definition -- godef/b/b.go:37:7-8: defined here as ```go const X untyped int = 0 @@ -329,13 +329,13 @@ const X untyped int = 0 } -- bX-hover -- -\@mark\(bX, \"X\"\),godef\(\"X\", bX\) - -[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#X) - ```go const X untyped int = 0 ``` + +[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#X) + +\@mark\(bX, \"X\"\),godef\(\"X\", bX\) -- myFoo-definition -- godef/b/b.go:4:2-7: defined here as ```go package myFoo ("golang.org/x/tools/internal/lsp/foo") @@ -361,8 +361,8 @@ package myFoo ("golang.org/x/tools/internal/lsp/foo") } -- myFoo-hover -- -[`myFoo` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/foo) - ```go package myFoo ("golang.org/x/tools/internal/lsp/foo") ``` + +[`myFoo` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/foo) diff --git a/internal/lsp/testdata/lsp/primarymod/godef/b/c.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/b/c.go.golden index 7711d293ea..fdf2216f34 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/b/c.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/b/c.go.golden @@ -27,8 +27,6 @@ S1 struct { } -- S1-hover -- -[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1) - ```go S1 struct { F1 int //@mark(S1F1, "F1") @@ -36,6 +34,8 @@ S1 struct { a.A //@godef("A", AString) } ``` + +[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1) -- S1F1-definition -- godef/b/b.go:9:2-4: defined here as ```go field F1 int @@ -63,10 +63,10 @@ field F1 int } -- S1F1-hover -- -\@mark\(S1F1, \"F1\"\) - -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1) - ```go field F1 int ``` + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1.F1) + +\@mark\(S1F1, \"F1\"\) diff --git a/internal/lsp/testdata/lsp/primarymod/godef/b/e.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/b/e.go.golden index 7e87c6cb7d..f0bfe974b6 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/b/e.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/b/e.go.golden @@ -25,13 +25,13 @@ field Member string } -- Member-hover -- -\@Member - -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Member) - ```go field Member string ``` + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing.Member) + +\@Member -- Other-definition -- godef/a/d.go:9:5-10: defined here as ```go var a.Other a.Thing @@ -59,13 +59,13 @@ var a.Other a.Thing } -- Other-hover -- -\@Other - -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Other) - ```go var a.Other a.Thing ``` + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Other) + +\@Other -- Thing-definition -- godef/a/d.go:5:6-11: defined here as ```go Thing struct { @@ -93,13 +93,13 @@ Thing struct { } -- Thing-hover -- -[`a.Thing` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing) - ```go Thing struct { Member string //@Member } ``` + +[`a.Thing` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Thing) -- Things-definition -- godef/a/d.go:11:6-12: defined here as ```go func a.Things(val []string) []a.Thing @@ -125,8 +125,8 @@ func a.Things(val []string) []a.Thing } -- Things-hover -- -[`a.Things` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Things) - ```go func a.Things(val []string) []a.Thing ``` + +[`a.Things` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a#Things) diff --git a/internal/lsp/testdata/lsp/primarymod/godef/broken/unclosedIf.go.golden b/internal/lsp/testdata/lsp/primarymod/godef/broken/unclosedIf.go.golden index 5809cf7ac3..eac0339236 100644 --- a/internal/lsp/testdata/lsp/primarymod/godef/broken/unclosedIf.go.golden +++ b/internal/lsp/testdata/lsp/primarymod/godef/broken/unclosedIf.go.golden @@ -23,8 +23,8 @@ var myUnclosedIf string } -- myUnclosedIf-hover -- -\@myUnclosedIf - ```go var myUnclosedIf string ``` + +\@myUnclosedIf