1-- S1-definition -- 2godef/b/b.go:27:6-8: defined here as ```go 3type S1 struct { 4 F1 int //@mark(S1F1, "F1") 5 S2 //@godef("S2", S2),mark(S1S2, "S2") 6 a.A //@godef("A", AString) 7 aAlias //@godef("a", aAlias) 8} 9``` 10 11[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1) 12-- S1-definition-json -- 13{ 14 "span": { 15 "uri": "file://godef/b/b.go", 16 "start": { 17 "line": 27, 18 "column": 6, 19 "offset": 566 20 }, 21 "end": { 22 "line": 27, 23 "column": 8, 24 "offset": 568 25 } 26 }, 27 "description": "```go\ntype S1 struct {\n\tF1 int //@mark(S1F1, \"F1\")\n\tS2 //@godef(\"S2\", S2),mark(S1S2, \"S2\")\n\ta.A //@godef(\"A\", AString)\n\taAlias //@godef(\"a\", aAlias)\n}\n```\n\n[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1)" 28} 29 30-- S1-hover -- 31```go 32type S1 struct { 33 F1 int //@mark(S1F1, "F1") 34 S2 //@godef("S2", S2),mark(S1S2, "S2") 35 a.A //@godef("A", AString) 36 aAlias //@godef("a", aAlias) 37} 38``` 39 40[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1) 41-- S1F1-definition -- 42godef/b/b.go:28:2-4: defined here as ```go 43field F1 int 44``` 45 46[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) 47 48\@mark\(S1F1, \"F1\"\) 49-- S1F1-definition-json -- 50{ 51 "span": { 52 "uri": "file://godef/b/b.go", 53 "start": { 54 "line": 28, 55 "column": 2, 56 "offset": 585 57 }, 58 "end": { 59 "line": 28, 60 "column": 4, 61 "offset": 587 62 } 63 }, 64 "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\\\"\\)" 65} 66 67-- S1F1-hover -- 68```go 69field F1 int 70``` 71 72[`(b.S1).F1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b?utm_source=gopls#S1.F1) 73 74\@mark\(S1F1, \"F1\"\) 75