diff --git a/internal/lsp/source/hover.go b/internal/lsp/source/hover.go index 45e2b31c77..e3d66e24b3 100644 --- a/internal/lsp/source/hover.go +++ b/internal/lsp/source/hover.go @@ -773,7 +773,7 @@ func FormatHover(h *HoverJSON, options *Options) (string, error) { doc := formatDoc(h, options) var b strings.Builder - parts := []string{signature, link, doc} + parts := []string{signature, doc, link} for i, el := range parts { if el != "" { b.WriteString(el) diff --git a/internal/lsp/testdata/godef/a/a.go.golden b/internal/lsp/testdata/godef/a/a.go.golden index e8ce9079a9..5f720b26aa 100644 --- a/internal/lsp/testdata/godef/a/a.go.golden +++ b/internal/lsp/testdata/godef/a/a.go.golden @@ -3,17 +3,17 @@ func (*sync.Mutex).Lock() ``` -[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync?utm_source=gopls#Mutex.Lock) - Lock locks m\. + +[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync?utm_source=gopls#Mutex.Lock) -- Name-hoverdef -- ```go func (*types.object).Name() string ``` -[`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types?utm_source=gopls#TypeName.Name) - Name returns the object\'s \(package\-local, unqualified\) name\. + +[`(types.TypeName).Name` on pkg.go.dev](https://pkg.go.dev/go/types?utm_source=gopls#TypeName.Name) -- Random-definition -- godef/a/random.go:3:6-12: defined here as ```go func Random() int @@ -159,17 +159,17 @@ Constant block\. func(t Type, size ...IntegerType) Type ``` -[`make` on pkg.go.dev](https://pkg.go.dev/builtin?utm_source=gopls#make) - 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?utm_source=gopls#make) -- string-hoverdef -- ```go type string string ``` -[`string` on pkg.go.dev](https://pkg.go.dev/builtin?utm_source=gopls#string) - string is the set of all strings of 8\-bit bytes, conventionally but not necessarily representing UTF\-8\-encoded text\. + +[`string` on pkg.go.dev](https://pkg.go.dev/builtin?utm_source=gopls#string) -- typesImport-hoverdef -- ```go package types ("go/types") diff --git a/internal/lsp/testdata/godef/a/d.go.golden b/internal/lsp/testdata/godef/a/d.go.golden index 23c7da1ec4..47723b0453 100644 --- a/internal/lsp/testdata/godef/a/d.go.golden +++ b/internal/lsp/testdata/godef/a/d.go.golden @@ -3,9 +3,9 @@ godef/a/d.go:6:2-8: defined here as ```go field Member string ``` -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) - \@Member + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) -- Member-definition-json -- { "span": { @@ -21,7 +21,7 @@ field Member string "offset": 96 } }, - "description": "```go\nfield Member string\n```\n\n[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member)\n\n\\@Member" + "description": "```go\nfield Member string\n```\n\n\\@Member\n\n[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member)" } -- Member-hoverdef -- @@ -29,9 +29,9 @@ field Member string field Member string ``` -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) - \@Member + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) -- Method-definition -- godef/a/d.go:15:16-22: defined here as ```go func (Thing).Method(i int) string @@ -67,9 +67,9 @@ godef/a/d.go:9:5-10: defined here as ```go var Other Thing ``` -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) - \@Other + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) -- Other-definition-json -- { "span": { @@ -85,7 +85,7 @@ var Other Thing "offset": 126 } }, - "description": "```go\nvar Other Thing\n```\n\n[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other)\n\n\\@Other" + "description": "```go\nvar Other Thing\n```\n\n\\@Other\n\n[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other)" } -- Other-hoverdef -- @@ -93,9 +93,9 @@ var Other Thing var Other Thing ``` -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) - \@Other + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) -- Thing-definition -- godef/a/d.go:5:6-11: defined here as ```go type Thing struct { diff --git a/internal/lsp/testdata/godef/b/b.go.golden b/internal/lsp/testdata/godef/b/b.go.golden index 7f05a70ce1..5f7669b77c 100644 --- a/internal/lsp/testdata/godef/b/b.go.golden +++ b/internal/lsp/testdata/godef/b/b.go.golden @@ -3,41 +3,41 @@ func (a.I).B() ``` -[`(a.I).B` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#I.B) - \@mark\(AB, \"B\"\) + +[`(a.I).B` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#I.B) -- AField-hoverdef -- ```go field Field int ``` -[`(a.S).Field` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#S.Field) - \@mark\(AField, \"Field\"\) + +[`(a.S).Field` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#S.Field) -- AField2-hoverdef -- ```go field Field2 int ``` -[`(a.R).Field2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#R.Field2) - \@mark\(AField2, \"Field2\"\) + +[`(a.R).Field2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#R.Field2) -- AGoodbye-hoverdef -- ```go func (a.H).Goodbye() ``` -[`(a.H).Goodbye` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#H.Goodbye) - \@mark\(AGoodbye, \"Goodbye\"\) + +[`(a.H).Goodbye` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#H.Goodbye) -- AHello-hoverdef -- ```go func (a.J).Hello() ``` -[`(a.J).Hello` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#J.Hello) - \@mark\(AHello, \"Hello\"\) + +[`(a.J).Hello` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#J.Hello) -- AHey-hoverdef -- ```go func (a.R).Hey() @@ -85,9 +85,9 @@ godef/a/a.go:26:6-7: defined here as ```go type A string ``` -[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A) - \@mark\(AString, \"A\"\) + +[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A) -- AString-definition-json -- { "span": { @@ -103,7 +103,7 @@ type A string "offset": 468 } }, - "description": "```go\ntype A string\n```\n\n[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A)\n\n\\@mark\\(AString, \\\"A\\\"\\)" + "description": "```go\ntype A string\n```\n\n\\@mark\\(AString, \\\"A\\\"\\)\n\n[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A)" } -- AString-hoverdef -- @@ -111,9 +111,9 @@ type A string type A string ``` -[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A) - \@mark\(AString, \"A\"\) + +[`a.A` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#A) -- AStuff-definition -- godef/a/a.go:28:6-12: defined here as ```go func a.AStuff() @@ -189,9 +189,9 @@ godef/b/b.go:28:2-4: defined here as ```go field F1 int ``` -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) - \@mark\(S1F1, \"F1\"\) + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) -- S1F1-definition-json -- { "span": { @@ -207,7 +207,7 @@ field F1 int "offset": 608 } }, - "description": "```go\nfield F1 int\n```\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)" + "description": "```go\nfield F1 int\n```\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)" } -- S1F1-hoverdef -- @@ -215,17 +215,17 @@ field F1 int field F1 int ``` -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) - \@mark\(S1F1, \"F1\"\) + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) -- S1S2-definition -- godef/b/b.go:29:2-4: defined here as ```go field S2 S2 ``` -[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.S2) - \@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?utm_source=gopls#S1.S2) -- S1S2-definition-json -- { "span": { @@ -241,7 +241,7 @@ field S2 S2 "offset": 640 } }, - "description": "```go\nfield S2 S2\n```\n\n[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.S2)\n\n\\@godef\\(\\\"S2\\\", S2\\),mark\\(S1S2, \\\"S2\\\"\\)" + "description": "```go\nfield S2 S2\n```\n\n\\@godef\\(\\\"S2\\\", S2\\),mark\\(S1S2, \\\"S2\\\"\\)\n\n[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.S2)" } -- S1S2-hoverdef -- @@ -249,9 +249,9 @@ field S2 S2 field S2 S2 ``` -[`(b.S1).S2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.S2) - \@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?utm_source=gopls#S1.S2) -- S2-definition -- godef/b/b.go:34:6-8: defined here as ```go type S2 struct { @@ -295,9 +295,9 @@ godef/b/b.go:35:2-4: defined here as ```go field F1 string ``` -[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1) - \@mark\(S2F1, \"F1\"\) + +[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1) -- S2F1-definition-json -- { "span": { @@ -313,7 +313,7 @@ field F1 string "offset": 783 } }, - "description": "```go\nfield F1 string\n```\n\n[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1)\n\n\\@mark\\(S2F1, \\\"F1\\\"\\)" + "description": "```go\nfield F1 string\n```\n\n\\@mark\\(S2F1, \\\"F1\\\"\\)\n\n[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1)" } -- S2F1-hoverdef -- @@ -321,17 +321,17 @@ field F1 string field F1 string ``` -[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1) - \@mark\(S2F1, \"F1\"\) + +[`(b.S2).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F1) -- S2F2-definition -- godef/b/b.go:36:2-4: defined here as ```go field F2 int ``` -[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2) - \@mark\(S2F2, \"F2\"\) + +[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2) -- S2F2-definition-json -- { "span": { @@ -347,7 +347,7 @@ field F2 int "offset": 816 } }, - "description": "```go\nfield F2 int\n```\n\n[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2)\n\n\\@mark\\(S2F2, \\\"F2\\\"\\)" + "description": "```go\nfield F2 int\n```\n\n\\@mark\\(S2F2, \\\"F2\\\"\\)\n\n[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2)" } -- S2F2-hoverdef -- @@ -355,9 +355,9 @@ field F2 int field F2 int ``` -[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2) - \@mark\(S2F2, \"F2\"\) + +[`(b.S2).F2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S2.F2) -- aAlias-definition -- godef/b/b.go:25:6-12: defined here as ```go type aAlias = a.A @@ -393,9 +393,9 @@ godef/b/b.go:57:7-8: defined here as ```go const X untyped int = 0 ``` -[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X) - \@mark\(bX, \"X\"\),godef\(\"X\", bX\) + +[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X) -- bX-definition-json -- { "span": { @@ -411,7 +411,7 @@ const X untyped int = 0 "offset": 1250 } }, - "description": "```go\nconst X untyped int = 0\n```\n\n[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X)\n\n\\@mark\\(bX, \\\"X\\\"\\),godef\\(\\\"X\\\", bX\\)" + "description": "```go\nconst X untyped int = 0\n```\n\n\\@mark\\(bX, \\\"X\\\"\\),godef\\(\\\"X\\\", bX\\)\n\n[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X)" } -- bX-hoverdef -- @@ -419,9 +419,9 @@ const X untyped int = 0 const X untyped int = 0 ``` -[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X) - \@mark\(bX, \"X\"\),godef\(\"X\", bX\) + +[`b.X` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#X) -- myFoo-definition -- godef/b/b.go:4:2-7: defined here as ```go package myFoo ("golang.org/x/tools/internal/lsp/foo") diff --git a/internal/lsp/testdata/godef/b/c.go.golden b/internal/lsp/testdata/godef/b/c.go.golden index 3ae3e2d0ac..e6205b7265 100644 --- a/internal/lsp/testdata/godef/b/c.go.golden +++ b/internal/lsp/testdata/godef/b/c.go.golden @@ -43,9 +43,9 @@ godef/b/b.go:28:2-4: defined here as ```go field F1 int ``` -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) - \@mark\(S1F1, \"F1\"\) + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) -- S1F1-definition-json -- { "span": { @@ -61,7 +61,7 @@ field F1 int "offset": 608 } }, - "description": "```go\nfield F1 int\n```\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)" + "description": "```go\nfield F1 int\n```\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)\n\n[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1)" } -- S1F1-hoverdef -- @@ -69,6 +69,6 @@ field F1 int field F1 int ``` -[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) - \@mark\(S1F1, \"F1\"\) + +[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) diff --git a/internal/lsp/testdata/godef/b/e.go.golden b/internal/lsp/testdata/godef/b/e.go.golden index 079ed7923c..f9af7b7431 100644 --- a/internal/lsp/testdata/godef/b/e.go.golden +++ b/internal/lsp/testdata/godef/b/e.go.golden @@ -3,9 +3,9 @@ godef/a/d.go:6:2-8: defined here as ```go field Member string ``` -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) - \@Member + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) -- Member-definition-json -- { "span": { @@ -21,7 +21,7 @@ field Member string "offset": 96 } }, - "description": "```go\nfield Member string\n```\n\n[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member)\n\n\\@Member" + "description": "```go\nfield Member string\n```\n\n\\@Member\n\n[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member)" } -- Member-hoverdef -- @@ -29,17 +29,17 @@ field Member string field Member string ``` -[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) - \@Member + +[`(a.Thing).Member` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Thing.Member) -- Other-definition -- godef/a/d.go:9:5-10: defined here as ```go var a.Other a.Thing ``` -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) - \@Other + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) -- Other-definition-json -- { "span": { @@ -55,7 +55,7 @@ var a.Other a.Thing "offset": 126 } }, - "description": "```go\nvar a.Other a.Thing\n```\n\n[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other)\n\n\\@Other" + "description": "```go\nvar a.Other a.Thing\n```\n\n\\@Other\n\n[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other)" } -- Other-hoverdef -- @@ -63,9 +63,9 @@ var a.Other a.Thing var a.Other a.Thing ``` -[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) - \@Other + +[`a.Other` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Other) -- Thing-definition -- godef/a/d.go:5:6-11: defined here as ```go type Thing struct { diff --git a/internal/lsp/testdata/godef/hover_generics/hover.go.golden b/internal/lsp/testdata/godef/hover_generics/hover.go.golden index c7df541384..cfebcc472c 100644 --- a/internal/lsp/testdata/godef/hover_generics/hover.go.golden +++ b/internal/lsp/testdata/godef/hover_generics/hover.go.golden @@ -1,18 +1,19 @@ --- value-hoverdef -- +-- Pparam-hoverdef -- ```go -type value[T any] struct { - val T //@mark(valueTparam, "T"),hoverdef("T", valueTparam) - Q int //@mark(valueQfield, "Q"),hoverdef("Q", valueQfield) -} +type parameter P interface{~int|string} +``` +-- Pvar-hoverdef -- +```go +type parameter P interface{~int|string} ``` -- ValueQfield-hoverdef -- ```go field Q int ``` -[`(hover.Value).Q` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/hover_generics?utm_source=gopls#Value.Q) - \@mark\(ValueQfield, \"Q\"\),hoverdef\(\"Q\", ValueQfield\) + +[`(hover.Value).Q` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/hover_generics?utm_source=gopls#Value.Q) -- ValueTdecl-hoverdef -- ```go type parameter T any @@ -21,6 +22,13 @@ type parameter T any ```go type parameter T any ``` +-- value-hoverdef -- +```go +type value[T any] struct { + val T //@mark(valueTparam, "T"),hoverdef("T", valueTparam) + Q int //@mark(valueQfield, "Q"),hoverdef("Q", valueQfield) +} +``` -- valueQfield-hoverdef -- ```go field Q int @@ -35,11 +43,3 @@ type parameter T any ```go type parameter T any ``` --- Pparam-hoverdef -- -```go -type parameter P interface{~int|string} -``` --- Pvar-hoverdef -- -```go -type parameter P interface{~int|string} -``` diff --git a/internal/lsp/testdata/rename/generics/generics.go.golden b/internal/lsp/testdata/rename/generics/generics.go.golden index b46a0837d1..7d39813e12 100644 --- a/internal/lsp/testdata/rename/generics/generics.go.golden +++ b/internal/lsp/testdata/rename/generics/generics.go.golden @@ -1,30 +1,3 @@ --- Q-rename -- -//go:build go1.18 -// +build go1.18 - -package generics - -type G[P any] struct { - F int -} - -func (G[_]) M() {} - -func F[Q any](Q) { - var p Q //@rename("P", "Q") - _ = p -} - -func _() { - var x G[int] //@rename("G", "H") - _ = x.F //@rename("F", "K") - x.M() //@rename("M", "N") - - var y G[string] - _ = y.F - y.M() -} - -- H-rename -- //go:build go1.18 // +build go1.18 @@ -106,3 +79,30 @@ func _() { y.N() } +-- Q-rename -- +//go:build go1.18 +// +build go1.18 + +package generics + +type G[P any] struct { + F int +} + +func (G[_]) M() {} + +func F[Q any](Q) { + var p Q //@rename("P", "Q") + _ = p +} + +func _() { + var x G[int] //@rename("G", "H") + _ = x.F //@rename("F", "K") + x.M() //@rename("M", "N") + + var y G[string] + _ = y.F + y.M() +} + diff --git a/internal/lsp/testdata/signature/signature.go.golden b/internal/lsp/testdata/signature/signature.go.golden index 486ca7f684..d7a65b3b87 100644 --- a/internal/lsp/testdata/signature/signature.go.golden +++ b/internal/lsp/testdata/signature/signature.go.golden @@ -54,7 +54,7 @@ The make built-in function allocates and initializes an object of type slice, ma myFunc(foo int) string -- panic(v interface{})-signature -- -panic(v interface{}) +panic(v any) The panic built-in function stops normal execution of the current goroutine.