--- /dev/null
+-- Lock-hover --
+```go
+func (*sync.Mutex).Lock()
+```
+
+[`(sync.Mutex).Lock` on pkg.go.dev](https://pkg.go.dev/sync?utm_source=gopls#Mutex.Lock)
+
+Lock locks m\.
+-- Name-hover --
+```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\.
+-- Random-definition --
+godef/a/random.go:3:6-12: defined here as ```go
+func Random() int
+```
+
+[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random)
+-- Random-definition-json --
+{
+ "span": {
+ "uri": "file://godef/a/random.go",
+ "start": {
+ "line": 3,
+ "column": 6,
+ "offset": 16
+ },
+ "end": {
+ "line": 3,
+ "column": 12,
+ "offset": 22
+ }
+ },
+ "description": "```go\nfunc Random() int\n```\n\n[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random)"
+}
+
+-- Random-hover --
+```go
+func Random() int
+```
+
+[`a.Random` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random)
+-- Random2-definition --
+godef/a/random.go:8:6-13: defined here as ```go
+func Random2(y int) int
+```
+
+[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random2)
+-- Random2-definition-json --
+{
+ "span": {
+ "uri": "file://godef/a/random.go",
+ "start": {
+ "line": 8,
+ "column": 6,
+ "offset": 71
+ },
+ "end": {
+ "line": 8,
+ "column": 13,
+ "offset": 78
+ }
+ },
+ "description": "```go\nfunc Random2(y int) int\n```\n\n[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random2)"
+}
+
+-- Random2-hover --
+```go
+func Random2(y int) int
+```
+
+[`a.Random2` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/a?utm_source=gopls#Random2)
+-- aPackage-hover --
+Package a is a package for testing go to definition\.
+-- err-definition --
+godef/a/a.go:33:6-9: defined here as ```go
+var err error
+```
+
+\@err
+-- err-definition-json --
+{
+ "span": {
+ "uri": "file://godef/a/a.go",
+ "start": {
+ "line": 33,
+ "column": 6,
+ "offset": 597
+ },
+ "end": {
+ "line": 33,
+ "column": 9,
+ "offset": 600
+ }
+ },
+ "description": "```go\nvar err error\n```\n\n\\@err"
+}
+
+-- err-hover --
+```go
+var err error
+```
+
+\@err
+-- g-hover --
+```go
+const g untyped int = 1
+```
+
+When I hover on g, I should see this comment\.
+-- h-hover --
+```go
+const h untyped int = 2
+```
+
+Constant block\.
+-- make-hover --
+```go
+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\)\.
+-- string-hover --
+```go
+string
+```
+-- typesImport-hover --
+```go
+package types ("go/types")
+```
+
+[`types` on pkg.go.dev](https://pkg.go.dev/go/types?utm_source=gopls)
+-- x-hover --
+```go
+var x string
+```
+
+x is a variable\.
+-- z-hover --
+```go
+var z string
+```
+
+z is a variable too\.