-- S1-definition -- godef/b/b.go:25:6-8: defined here as ```go type S1 struct { F1 int //@mark(S1F1, "F1") S2 //@godef("S2", S2),mark(S1S2, "S2") a.A //@godef("A", AString) } ``` [`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1) -- S1-definition-json -- { "span": { "uri": "file://godef/b/b.go", "start": { "line": 25, "column": 6, "offset": 521 }, "end": { "line": 25, "column": 8, "offset": 523 } }, "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}\n```\n\n[`b.S1` on pkg.go.dev](https://pkg.go.dev/golang.org/x/tools/internal/lsp/godef/b#S1)" } -- S1-hover -- ```go type S1 struct { F1 int //@mark(S1F1, "F1") S2 //@godef("S2", S2),mark(S1S2, "S2") 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:26: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#S1.F1) \@mark\(S1F1, \"F1\"\) -- S1F1-definition-json -- { "span": { "uri": "file://godef/b/b.go", "start": { "line": 26, "column": 2, "offset": 540 }, "end": { "line": 26, "column": 4, "offset": 542 } }, "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#S1.F1)\n\n\\@mark\\(S1F1, \\\"F1\\\"\\)" } -- S1F1-hover -- ```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\"\)