-- S1-definition --
godef/b/b.go:8:6-8: defined here as ```go
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": 8,
			"column": 6,
			"offset": 193
		},
		"end": {
			"line": 8,
			"column": 8,
			"offset": 195
		}
	},
	"description": "```go\nS1 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 --
[`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")
	S2      //@godef("S2", S2), mark(S1S2, "S2")
	a.A     //@godef("A", AString)
}
```
-- S1F1-definition --
godef/b/b.go:9: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": 9,
			"column": 2,
			"offset": 212
		},
		"end": {
			"line": 9,
			"column": 4,
			"offset": 214
		}
	},
	"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 --
\@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
```
